[UNIX、Linux、Windows、IBM i]

2158 (086E) (RC2158): MQRC_PMO_RECORD_FLAGS_ERROR

説明

メッセージを書き込もうとして、 MQPUT または MQPUT1 呼び出しが発行されたが、 MQPMO 構造体の PutMsgRecFields フィールドが、次のいずれかの理由で無効である。
  • フィールドに無効なフラグが含まれている。
  • メッセージが配布リストに書き込まれており、書き込みメッセージ・レコードが提供されています (つまり、 RecsPresent がゼロより大きく、 PutMsgRecOffset または PutMsgRecPtr のいずれかがゼロ以外です) が、 PutMsgRecFields の値が MQPMRF_NONE になっています。
  • MQPMRF_ACCOUNTING_TOKEN が、MQPMO_SET_IDENTITY_CONTEXT または MQPMO_SET_ALL_CONTEXT なしで指定されている。

完了コード

MQCC_FAILED

プログラマー応答

必ず適切な MQPMRF_* フラグで PutMsgRecFields が設定され、 書き込みメッセージ・レコードに、どのフィールドがあるのかを示すようにする。 MQPMRF_ACCOUNTING_TOKEN が指定されている場合、 必ず MQPMO_SET_IDENTITY_CONTEXT または MQPMO_SET_ALL_CONTEXT のいずれかを指定するようにする。 別の手段としては PutMsgRecOffsetPutMsgRecPtr の両方をゼロに設定します。