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です。
● 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フィールドを宣言する必要があります。