MQCBD - コールバック記述子

MQCBD 構造体は、コールバック関数と、キュー・マネージャーによるその使用を制御するオプションを指定するために使用されます。 この構造体は、MQCB 呼び出しの入力パラメーターです。

可用性

MQCBD 構造体は、以下のプラットフォームで使用できます。
  • [AIX]AIX®
  • [IBM i]IBM® i
  • [Linux]Linux®
  • [Windows]Windows
  • [z/OS]z/OS®
および、これらのシステムに接続されている IBM MQ MQI clients の場合。

バージョン

MQCBD の現行バージョンは MQCBD_VERSION_1です。

文字セットとエンコード

MQCBD 内のデータは、 CodedCharSetId キュー・マネージャー属性で指定された文字セットと、MQENC_NATIVE で指定されたローカル・キュー・マネージャーのエンコードになっていなければなりません。 ただし、アプリケーションが MQ MQI クライアントとして実行されている場合、構造体はクライアントの文字セットとエンコードに従っている必要があります。

フィールド

注: 以下の表では、フィールドはアルファベット順ではなく使用順にグループ化されています。 子トピックは、同じ順序に従います。
表 1. MQCBD のフィールド
フィールド名と説明 定数の名前 定数の初期値 (存在する場合)
StrucID (構造 ID) MQCBD_STRUC_ID 'CBD¬'
Version (構造体のバージョン番号) MQCBD_VERSION_1 1
CallbackType (コールバック関数のタイプ) MQCBT_MESSAGE_CONSUMER 1
Options (メッセージ・コンシュームを制御するオプション) MQCBDO_NONE 0
CallbackArea (コールバック関数が使用するフィールド) なし ヌル・ポインターまたはヌル・ブランク
CallbackFunction (関数が API 呼び出しとして呼び出されるかどうか) なし ヌル・ポインターまたはヌル・ブランク
CallbackName (関数が動的にリンクされたプログラムとして呼び出されるかどうか) なし ヌル・ストリングまたはブランク
MaxMsgLength(読み取り可能な最長メッセージの長さ) MQCBD_FULL_MSG_LENGTH -1
注:
  1. 記号¬は、単一のブランク文字を表します。
  2. ヌル・ストリングまたはブランクの値は、C プログラミング言語ではヌル・ストリングを表し、他のプログラミング言語ではブランク文字を表します。
  3. C プログラミング言語では、マクロ変数 MQCBD_DEFAULT に表にリストされている値が設定されています。 このマクロ変数を以下の方法で使用して、構造体のフィールドに初期値を設定します。
    MQCBD MyCBD = {MQCBD_DEFAULT};
    

言語ごとの宣言

MQCBD の C 宣言

typedef struct tagMQCBD MQCBD;
 struct tagMQCBD {
   MQCHAR4    StrucId;                 /* Structure identifier */
   MQLONG     Version;                 /* Structure version number */
   MQLONG     CallBackType;            /* Callback function type */
   MQLONG     Options;                 /* Options controlling message
                                          consumption */
   MQPTR      CallbackArea;            /* User data passed to the function */
   MQPTR      CallbackFunction;        /* Callback function pointer */
   MQCHAR128  CallbackName;            /* Callback name */
   MQLONG     MaxMsgLength;            /* Maximum message length */
 };

MQCBD の COBOL 宣言

** MQCBCD structure
 10  MQCBD.
** Structure Identifier
 15  MQCBD-STRUCID                      PIC X(4).
** Structure Version
 15  MQCBD-VERSION                      PIC S9(9) BINARY.
 ** Callback Type
 15  MQCBD-CALLBACKTYPE                 PIC S9(9) BINARY.
** Options
 15  MQCBD-OPTIONS                      PIC S9(9) BINARY.
** Callback User Area
 15  MQCBD-CALLBACKAREA                 POINTER
** Callback Function Pointer
 15  MQCBD-CALLBACKFUNCTION             FUNCTION-POINTER
** Callback Program Name
 15  MQCBD-CALLBACKNAME                 PIC X(128)
** Maximum Message Length
 15  MQCDB-MAXMSGLENGTH                 PIC S9(9) BINARY.

MQCBD の PL/I 宣言

dcl
 1 MQCBD based,
  3 StrucId             char(4),       /* Structure identifier*/
  3 Version             fixed bin(31), /* Structure version*/
  3 CallbackType        fixed bin(31), /* Callback function type */
  3 Options             fixed bin(31), /* Options */
  3 CallbackArea        pointer,       /* User area passed to the function */
  3 CallbackFunction    pointer,       /* Callback Function Pointer */
  3 CallbackName        char(128),     /* Callback Program Name */
  3 MaxMsgLength        fixed bin(31); /* Maximum Message Length */