文字列を定義する構造体
このフィールドの初期値は MQCFT_STRING です。
MQDH 構造体 − 配布ヘッダ
MQDH 構造体は,次のフィールドから構成されます。
フィールド(データタイプ) 内容 初期値
StrucId(MQCHAR4 型) 構造体識別子 MQDH_STRUC_ID
Version(MQLONG 型) 構造体バージョン番号 MQDH_VERSION_1
StrucLength(MQLONG 型) 構造体長 0
Encoding(MQLONG 型) MQPMR 構造体の配列に続く
データのマシンコード形式
0
CodedCharSetId(MQLONG 型) MQPMR 構造体の配列に続く
データの文字セット識別子
MQCCSI_UNDEFINED
Format(MQCHAR8 型) MQPMR 構造体の配列に続く
データのフォーマット名
MQFMT_NONE
Flags(MQLONG 型) フラグ MQDHF_NONE
PutMsgRecFields(MQLONG 型) MQPMR 構造体フィールドの
存在
MQPMRF_NONE
RecsPresent(MQLONG 型) オブジェクトレコード数 0
ObjectRecOffset(MQLONG 型) 最初のオブジェクトレコードま
でのオフセット
0
PutMsgRecOffset(MQLONG 型) 最初の登録メッセージレコード
までのオフセット
0
概要
目的
MQDH 構造体には,転送キューに存在する配布リストメッセージ中の,追加データを記述します。配布 リストメッセージは,複数のあて先キューに送信されるメッセージです。追加データは,MQDH 構造体,
MQOR 構造体の配列および MQPMR 構造体の配列の順序で構成されます。
この構造体は,転送キューに直接メッセージを登録したり,転送キューからメッセージを取り出したりす る特別なアプリケーション(例:MCA)で使用されます。
MQDH 構造体は,配布リストにメッセージを登録するだけの通常のアプリケーションで使用しないでく ださい。通常のアプリケーションを使用する場合,配布リストのあて先を指定するには MQOD 構造体を 使用してください。また,メッセージの属性や,それぞれのあて先に送信されたメッセージに関する情報 を指定するには,MQPMO 構造体を使用してください。
フォーマット名
MQFMT_DIST_HEADER
文字セットおよびマシンコード
MQDH 構造体のデータは,ローカルキューマネジャの文字セットとマシンコードに従います。それぞれ,
キューマネジャの CodedCharSetId 属性および MQENC_NATIVE オプションで指定します。
MQDH 構造体の文字セットとマシンコードは,次に示す構造体の CodedCharSetId および Encoding フィールドに指定します。
• MQMD 構造体(MQDH 構造体がメッセージデータの先頭にある場合)
• MQDH 構造体に先行するヘッダ構造体(その他の場合)
使用方法
アプリケーションがメッセージを配布リストに登録する場合,その幾つかまたはすべてのあて先がリモー トであるとき,キューマネジャはアプリケーションデータの前に MQXQH 構造体と MQDH 構造体を付 けます。その後,対応する転送キューにそのメッセージを登録します。そのため,転送キューにあるメッ セージのデータは次の順序となります。
1. MQXQH 構造体
2. MQDH 構造体,および MQOR 構造体と MQPMR 構造体の配列 3. アプリケーションメッセージ
あて先によっては,そのようなメッセージが一つ以上,キューマネジャによって生成されて,異なる転送 キューに登録されます。この場合,それらのメッセージの MQDH 構造体は,アプリケーションがオープ ンした配布リストによって指定したあて先の中で異なる組み合わせを示します。
配布リストメッセージを直接転送キューに登録するアプリケーションは,上記の順序や,その MQDH 構 造体が正しいことを保証しなければなりません。MQDH 構造体が誤っている場合,キューマネジャは,
MQPUT 命令または MQPUT1 命令を MQRC_DH_ERROR の理由コードで失敗させることがあります。
メッセージは,キューが配布リストメッセージをサポートすると定義してある場合だけ,配布リスト形式 でキューに登録されます。配布リストをサポートしていないキューに,アプリケーションが直接配布リス トメッセージを登録した場合,キューマネジャは配布リストメッセージを個々のメッセージに分解し,
キューに登録します。
フィールド
構造体を構成するフィールドについて,アルファベット順に説明します。
● CodedCharSetId(MQLONG 型) 文字セット識別子
MQOR および MQPMR 構造体の配列に続くデータの文字セット識別子です。
MQOR および MQPMR 構造体の配列に続くデータの文字セット識別子を指定します。MQDH 構造体自 身の文字データには適用されません。
MQPUT または MQPUT1 命令では,アプリケーションはデータに合った値をこのフィールドに設定する 必要があります。