現在のバージョンのオブジェクト記述子の構造体バージョン番号
これは入力用のフィールドです。
このフィールドの初期値は MQOD_VERSION_1 です。
MQOR 構造体 − オブジェクトレコード
MQOR 構造体は,次のフィールドから構成されます。
フィールド(データタイプ) 内容 初期値
ObjectName(MQCHAR48 型) オブジェクト名 ヌル文字列/空白
ObjectQMgrName(MQCHAR48 型) オブジェクトキューマネジャ名 ヌル文字列/空白
概要
目的
MQOR 構造体は,単一のあて先キューのキュー名およびキューマネジャ名を指定するのに使用されます。
MQOR 構造体は,MQOPEN および MQPUT1 命令の入力用の構造体です。
文字セットおよびマシンコード
MQOR 構造体のデータは,ローカルキューマネジャの文字セットおよびマシンコードに従います。それ ぞれ,キューマネジャの CodedCharSetId 属性および MQENC_NATIVE で指定します。TP1/Message Queue - Access のクライアントアプリケーションの場合,MQOD 構造体はクライアントの文字セット とマシンコードに従います。
使用方法
MQOPEN 命令に構造体の配列を提供することによって,キューのリストをオープンできます。このリス トを配布リストといいます。キューのオープンに成功し,MQOPEN 命令で返されたキューハンドルを使 用してメッセージを登録すると,各メッセージはリストの各キューに格納されます。
フィールド
構造体を構成するフィールドについて,アルファベット順に説明します。
● ObjectName(MQCHAR48 型) オブジェクト名
次に示す項目を除いて,MQOD 構造体の ObjectName フィールドと同じです。
• キュー名である。
• モデルキュー名ではない。
これは常に入力用のフィールドです。
このフィールドの初期値は,C 言語ではヌル文字列です。そのほかの言語では,48 個の空白です。
● ObjectQMgrName(MQCHAR48 型) オブジェクトキューマネジャ名
MQOD 構造体の ObjectQMgrName フィールドと同じです。これは常に入力用のフィールドです。
このフィールドの初期値は,C 言語ではヌル文字列です。そのほかの言語では,48 個の空白です。
MQPMO 構造体 − メッセージ登録オプション
MQPMO 構造体は,MQPUT 命令および MQPUT1 命令の入出力用の引数です。次のフィールドから構 成されます。
フィールド(データタイプ) 内容 初期値
StrucId(MQCHAR4 型) 構造体識別子 MQPMO_STRUC_ID
Version(MQLONG 型) 構造体バージョン番号 MQPMO_VERSION_1
Options(MQLONG 型) 登録オプション MQPMO_NONE
Timeout(MQLONG 型) (予備) −1
Context(MQHOBJ 型) コンテキスト 0
KnownDestCount(MQLONG 型) ローカルキューの数 0
UnknownDestCount(MQLONG 型) リモートキューの数 0
InvalidDestCount(MQLONG 型) 送信に失敗したキューの数 0
ResolvedQName(MQCHAR48 型) 受信キュー名 ヌル文字列/空白
ResolvedQMgrName(MQCHAR48 型) 受信キューマネジャ名 ヌル文字列/空白
RecsPresent(MQLONG 型)※ 登録メッセージレコード数また
は応答レコード数
0
PutMsgRecFields(MQLONG 型)※ MQPMR 構造体フィールドの
存在
MQPMRF_NONE
PutMsgRecOffset(MQLONG 型)※ 最初の登録メッセージレコード
までのオフセット
0
ResponseRecOffset(MQLONG 型)※ 最初の応答レコードまでのオフ
セット
0
PutMsgRecPtr(MQPTR 型)※ 最初の登録メッセージレコード
のアドレス
ヌルポインタ/ヌル文字列
ResponseRecPtr(MQPTR 型)※ 最初の応答レコードのアドレス ヌルポインタ/ヌル文字列
注※
Version フィールドの値が MQPMO_VERSION_2 以降の場合だけ存在するフィールドです。
概要
目的
MQPMO 構造体によって,アプリケーションはメッセージのキューへの格納方法を制御できます。この構 造体は,MQPUT および MQPUT1 命令の入出力用の引数です。
バージョン
MQPMO 構造体のバージョンには 1 および 2 があります。しかし,すべての環境で
MQPMO_VERSION_2 がサポートされているわけではありません。複数の環境にアプリケーションを移 植する場合は,使用するバージョンの MQPMO 構造体が,すべての環境でサポートされている必要があ ります。MQPMO_VERSION_2 以降の構造体にだけ存在するフィールドについては,そのことをフィー ルドの説明に記載しています。
サポートするプログラミング言語の COPY ファイルと INCLUDE ファイルでは,最新バージョンの MQPMO 構造体が提供されます。しかし,Version フィールドの初期値は MQPMO_VERSION_1 です。
バージョン 1 の構造体にないフィールドを使用する場合は,アプリケーションで使用したいバージョンの 番号を Version フィールドに設定してください。
文字セットおよびマシンコード
MQPMO 構造体のデータは,ローカルキューマネジャの文字セットおよびマシンコードに従います。それ ぞれ,キューマネジャの CodedCharSetId 属性および MQENC_NATIVE で指定します。TP1/Message Queue - Access のクライアントアプリケーションの場合,MQPMO 構造体はクライアントの文字セット とマシンコードに従います。
フィールド
構造体を構成するフィールドについて,アルファベット順に説明します。
● Context(MQHOBJ 型) コンテキスト
入力キューのオブジェクトハンドルです。MQPMO_PASS_IDENTITY_CONTEXT または MQPMO_PASS_ALL_CONTEXT を指定した場合,
このフィールドに入力キューハンドルを指定します。登録するメッセージのコンテキスト情報は,その キューハンドルから取得されます。
MQPMO_PASS_IDENTITY_CONTEXT も MQPMO_PASS_ALL_CONTEXT も指定しなかった場合,
このフィールドは無視されます。
これは入力用のフィールドです。
このフィールドの初期値は 0 です。
● InvalidDestCount(MQLONG 型) 送信に失敗したキューの数
配布リスト中のキューの中で,送信できなかったメッセージの数です。オープンは成功したが登録に失敗 したキューや,オープンに失敗したキューの数も含まれます。このフィールドは配布リストではない単一 のキューへの登録時にも設定されます。
注意事項
このフィールドは,MQPUT 命令または MQPUT1 命令の CompCode 引数が MQCC_OK また は MQCC_WARNING の場合だけ設定されます。CompCode 引数が MQCC_FAILED の場合は 設定されません。
これは出力用のフィールドです。
このフィールドの初期値は 0 です。
なお,このフィールドは,Version フィールドが MQPMO_VERSION_2 より前の場合は設定されません。
● KnownDestCount(MQLONG 型) ローカルキューの数
配布リストの中で,MQPUT 命令または MQPUT1 命令による,ローカルキューであるキューへの送信が 成功したキューの数を示しています。ローカルな転送キューが最初のメッセージ登録に使用された場合も,
値はリモートキューで受信されるキューは含みません。このフィールドは配布リストではない単一のキュー への登録時にも設定されます。
これは出力用のフィールドです。
このフィールドの初期値は 0 です。
なお,このフィールドは,Version フィールドが MQPMO_VERSION_2 より前の場合は設定されません。
● Options(MQLONG 型) 登録オプション
MQPUT 命令および MQPUT1 命令の動作を制御します。
指定できるオプションを説明します。なお,指定しなくてもかまいません。二つ以上の値を指定する場合 は,次のどちらかに従ってください。
• それぞれを加算します。ただし,同じ値は 2 回以上加算しないでください。
• プログラミング言語がビット演算をサポートしている場合に,それぞれのビット論理和を取ります。
同時に指定できない組み合わせは,そのつど示します。それ以外の組み合わせは自由です。オプションお よびその指定方法の一覧については,「付録 A 命令および引数の一覧」を参照してください。
同期点オプション:
MQPUT または MQPUT1 命令のトランザクションへの参加に関連するオプションを次に示します。