MQCFH構造体 - PCFヘッダ

MQCFH構造体は,次のフィールドから構成されます。

フィールド(データタイプ)内容初期値
Type(MQLONG型)構造体タイプMQCFT_COMMAND
StrucLength(MQLONG型)構造体長MQCFH_STRUC_LENGTH
Version(MQLONG型)構造体バージョン番号MQCFH_VERSION_1
Command(MQLONG型)命令識別子0
MsgSeqNumber(MQLONG型)メッセージシーケンス番号1
Control(MQLONG型)制御オプションMQCFC_LAST
CompCode(MQLONG型)完了コードMQCC_OK
Reason(MQLONG型)理由コードMQRC_NONE
ParameterCount(MQLONG型)引数構造体の数0

概要

MQCFH構造体には,命令メッセージまたは応答メッセージのメッセージデータの開始位置にある情報を記述します。どちらの場合も,メッセージ記述子のFormatフィールドはMQFMT_ADMINです。

MQCFH構造体は,ユーザ定義のメッセージデータに使用することもできます。この場合,メッセージ記述子のFormatフィールドはMQFMT_PCFとなります。

なお,この場合,構造体の中にある一部のフィールドは意味を持たなくなります。大部分のフィールドに提供されている初期値を使用できますが,StrucLengthフィールド,およびParameterCountフィールドには,アプリケーション側でデータに適した値を設定する必要があります。

フィールド

構造体を構成するフィールドについて,アルファベット順に説明します。

● Command(MQLONG型) 命令識別子

TP1/Message Queueでは使用されません。

命令メッセージは,実行される機能を識別します。

このフィールドの初期値は0です。

● CompCode(MQLONG型) 完了コード

TP1/Message Queueでは使用されません。

このフィールドは応答のときだけ意味があります。

このフィールドの初期値はMQCC_OKです。

● Control(MQLONG型) 制御オプション

TP1/Message Queueでは使用されません。

次の値を取ります。

MQCFC_LAST
グループの最終メッセージ
命令では,この値が常に設定されなければなりません。
MQCFC_NOT_LAST
グループの最終ではないメッセージ

このフィールドの初期値はMQCFC_LASTです。

● MsgSeqNumber(MQLONG型) メッセージシーケンス番号

TP1/Message Queueでは使用されません。

これは,関連するメッセージのグループ内のメッセージシーケンス番号です。命令では,この値は1でなければなりません。それは,命令は常に単一のメッセージで構成されるためです。応答では,命令の応答の最初,またはこのシーケンス番号に対してだけ1であり,その命令に後続する応答のたびに1ずつ増加します。グループの最後の,または一つだけのメッセージは,ControlフィールドにMQFSC_LASTフラグが設定されます。

このフィールドの初期値は1です。

● ParameterCount(MQLONG型) 引数構造体の数

MQCFH構造体に続く引数構造体(MQCFIL構造体,MQCFIN構造体,MQCFST構造体,およびMQCFSL構造体)の数です。このフィールドの値は0以上です。

このフィールドの初期値は0です。

● Reason(MQLONG型) 理由コード

TP1/Message Queueでは使用されません。

理由コードです。

このフィールドの初期値はMQRC_NONEです。

● StrucLength(MQLONG型) 構造体長

MQCFH構造体のバイト長です。次の値でなければなりません。

MQCFH_STRUC_LENGTH
命令フォーマットヘッダ構造体長

このフィールドの初期値はMQCFH_STRUC_LENGTHです。

● Type(MQLONG型) 構造体タイプ

TP1/Message Queueでは使用されません。

このフィールドは,メッセージの内容を示します。

このフィールドの初期値はMQCFT_COMMANDです。

● Version(MQLONG型) 構造体バージョン番号

次の値を取ります。

MQCFH_VERSION_1
命令フォーマットヘッダのバージョン番号

次の定数は現在のバージョンのバージョン番号を指定します。

MQCFH_CURRENT_VERSION
現在のバージョンの命令形式

このフィールドの初期値はMQCFH_VERSION_1です。