MQ のメッセージ取得オプション
MQ のメッセージ取得オプションは、MQGET のアクションを制御します。
このセクションの後半で説明するオプションを 1 つ以上指定することができます。また、何も指定しなくてもかまいません。 複数のオプションが必要な場合は、値を以下のようにすることができます。
- 追加する (同じ定数を複数回追加しないでください)。または、
- ビット単位 OR 演算を使用して結合する (プログラミング言語でビット演算がサポートされている場合)。
Options
フィールドの初期値は、MQGMO_NO_WAIT に MQGMO_PROPERTIES_AS_Q_DEF を加えた値です。
プロパティー・オプション
以下のオプションは、メッセージのプロパティーに関連したオプションです。
- MQGMO_PROPERTIES_AS_Q_DEF
メッセージ記述子 (または拡張) に含まれているプロパティー以外のメッセージ・プロパティーを、PropertyControl キュー・プロパティーで定義されているように表す必要があります。
MsgHandle
が提供されている場合は、このオプションは無視され、メッセージ・プロパティーはMsgHandle
によって使用できます。ただし、PropertyControl キュー・プロパティーの値がMQPROP_FORCE_MQRFH2
の場合を除きます。これは、プロパティー・オプションが指定されていないときのデフォルト・アクションです。
- MQGMO_PROPERTIES_IN_HANDLE
メッセージ・プロパティーは、
MsgHandle
によって使用可能である必要があります。 メッセージ・ハンドルが提供されない場合、呼び出しは理由コード MQRC_HMSG_ERROR で失敗します。- MQGMO_NO_PROPERTIES
メッセージ記述子 (または拡張) に含まれているプロパティー以外のメッセージ・プロパティーは取得されません。
MsgHandle
が提供されている場合は、無視されます。- MQGMO_PROPERTIES_FORCE_MQRFH2
メッセージ記述子 (または拡張) に含まれているプロパティー以外のメッセージ・プロパティーを、MQRFH2 ヘッダーを使用して表す必要があります。 このオプションは、プロパティーを取得する必要はあるが、メッセージ・ハンドルを使用するように変更することができないアプリケーションのために、旧バージョンとの互換性を提供します。
MsgHandle
が提供されている場合は、無視されます。- MQGMO_PROPERTIES_COMPATIBILITY
- 接頭部が「mcd」のプロパティーがメッセージに含まれている場合は、以下のようになります。 「jms.」、 「usr.」、 または 「mqext.」、 すべてのメッセージ・プロパティーは、MQRFH2 ヘッダーでアプリケーションに配信されます。 そうでなければ、メッセージ記述子 (または拡張) に含まれているプロパティー以外のすべてのメッセージ・プロパティーが破棄され、アプリケーションからアクセスできなくなります。
デフォルト・オプション
上記のオプションのいずれも必要がない場合は、以下のオプションを使用することができます。
- MQGMO_NONE
- この値は、他のオプションが指定されなかったことを示すために使用します。すべてのオプションはデフォルト値であるとみなされます。 MQGMO_NONE は、プログラムの文書化を補助するものであり、別のオプションと共に使用するためのものではありません。しかし、値がゼロであるため、そのような方法で使用されても検出されません。