MQCFSL構造体 - PCF文字列リスト引数
MQCFSL構造体は,次のフィールドから構成されます。
フィールド(データタイプ) | 内容 | 初期値 |
---|---|---|
Type(MQLONG型) | 構造体タイプ | MQCFT_STRING_LIST |
StrucLength(MQLONG型) | 構造体長 | MQCFSL_STRUC_LENGTH_FIXED |
Parameter(MQLONG型) | 引数識別子 | 0 |
CodedCharSetId(MQLONG型) | 文字セット識別子 | MQCCSI_DEFAULT |
Count(MQLONG型) | 引数の値の数 | 0 |
StringLength(MQLONG型) | 文字列長 | なし |
Strings(MQCHAR×StringLength×Count) | 文字列の値 | ヌル文字列 |
概要
MQCFSL構造体には,命令または命令の応答であるメッセージの文字列リスト引数を記述します。どちらの場合も,メッセージ記述子のフォーマット名はMQFMT_ADMINとなります。
構造体は可変長の文字列(Stringsフィールド)で終了します。
フィールド
構造体を構成するフィールドについて,アルファベット順に説明します。
● CodedCharSetId(MQLONG型) 文字セット識別子
Stringsフィールドのデータの文字セット識別子を指定します。
次の値を取ります。
このフィールドの初期値はMQCCSI_DEFAULTです。
● Count(MQLONG型) 引数の値の数
Stringフィールドにある文字列の数を表します。値は0以上でなければなりません。
このフィールドの初期値は0です。
● Parameter(MQLONG型) 引数識別子
構造体に含まれる値の引数を示します。このフィールドの値は,MQCFH構造体のCommandフィールドの値と同じです。
このフィールドの初期値は0です。
● StringLength(MQLONG型) 文字列長
引数の値の長さであり,Stringsフィールドの1文字列の長さを表します。全文字列がこの長さとなります。値は0以上でなければなりません。なお,この長さは4の倍数である必要はありません。
● Strings(MQCHAR×StringLength×Count) 文字列の値
Parameterフィールドで識別される引数の1組の文字列の値を表します。文字列の数はCountフィールドで,各文字列の長さはStringLengthフィールドで与えられます。文字列同士は結合され,文字列間に間隔はありません。文字列の合計長は,1文字列の長さと文字列の数を掛けたもの(Stringフィールドの値×Countフィールドの値)です。
指定された文字列が引数の標準の長さより短い場合,省略された文字は空白に仮定されます。指定された文字列が引数の標準の長さより長い場合,標準の長さを超える文字は空白でなければなりません。
文字列はCodedCharSetIdフィールドで定義された文字セットにある文字列を含み,Parameterフィールドで指定された引数に適した値となります。
このフィールドの初期値は,C言語ではヌル文字列です。
C言語の場合,このフィールドは1要素の配列として定義されます。構造体の格納域は動的に割り付けられる必要があります。また,ポインタはその中のフィールドを指すために使用される必要があります。
COBOL言語の場合,構造体の宣言にこのフィールドが入っていません。MQCFSL構造体をより大きい構造体に含め,MQCFSL構造体のあとに必要な長さのStringsフィールドを宣言する必要があります。
● StrucLength(MQLONG型) 構造体長
構造体の最後であるStringフィールドの可変長文字列を含む,MQCFSL構造体のバイト長を表します。長さは4の倍数でなければなりません。また,文字列を含むのに十分な長さでなければなりません。
文字列の最終とStrucLengthフィールドで定義される長さ間のバイトは意味を持ちません。
次の定数は構造体の固定部分の長さを表し,Stringフィールドを除いた長さです。
このフィールドの初期値はMQCFSL_STRUC_LENGTH_FIXEDです。
● Type(MQLONG型) 構造体タイプ
構造体が,文字列リスト引数であるMQCFSL構造体であることを示します。
次の値を取ります。
このフィールドの初期値はMQCFT_STRING_LISTです。