MQXWAIT - 出口での待機

MQXWAIT 呼び出しは、イベントの発生を待機します。 これは、 z/OS®上のチャネル出口からのみ使用できます。

チャネル出口が待機の原因となることを実行すると、パフォーマンスの問題が生じる可能性がありますが、この問題は MQXWAIT を使用すると回避できます。 MQXWAIT が待機しているイベントは、MVS ECB (イベント制御ブロック) によりシグナル通知されます。 ECB は、MQXWD 制御ブロック記述で説明されています。

[z/OS]MQXWAIT の使用およびチャネル出口プログラムの作成について詳しくは、 z/OS でのチャネル出口プログラムの作成 を参照してください。

構文

MQXWAIT (Hconn, WaitDesc, CompCode, Reason)

パラメーター

MQXWAIT 呼び出しには、次のパラメーターがあります。

Hconn (MQHCONN) - 入力

接続ハンドル。

このハンドルは、キュー・マネージャーに対する接続を表します。 Hconnの値は、出口の同じ呼び出しまたは前の呼び出しで発行された前の MQCONN 呼び出しによって戻されたものです。

WaitDesc (MQXWD) - 入出力

待機記述子。

このパラメーターは、待機対象のイベントを記述します。 この構造体のフィールドについて詳しくは、 MQXWD-出口待機記述子 を参照してください。

CompCode (MQLONG) - 出力

完了コード。

これは、以下のコードのいずれかです。
MQCC_OK
正常終了。
MQCC_FAILED
呼び出し失敗。
Reason (MQLONG) - 出力

CompCodeを限定する理由コード。

CompCodeが MQCC_OK の場合:
MQRC_NONE
(0, X'000') レポートする理由コードはありません。
MQRC_ADAPTER_NOT_AVAILABLE
(2204, X'89C') アダプターが利用できません。
MQRC_OPTIONS_ERROR
(2046, X'7FE') オプションが無効であるか、矛盾しています。
MQRC_XWAIT_CANCELED
(2107, X'83B') MQXWAIT 呼び出しが取り消されました。
MQRC_XWAIT_ERROR
(2108, X'83C') MQXWAIT の呼び出しが無効です。

C 言語での呼び出し

MQXWAIT (Hconn, &WaitDesc, &CompCode, &Reason);
パラメーターを次のように宣言します。
MQHCONN  Hconn;     /* Connection handle */
MQXWD    WaitDesc;  /* Wait descriptor */
MQLONG   CompCode;  /* Completion code */
MQLONG   Reason;    /* Reason code qualifying CompCode */

System/390 アセンブラー呼び出し

         CALL MQXWAIT,(HCONN,WAITDESC,COMPCODE,REASON)
パラメーターを次のように宣言します。
HCONN     DS       F  Connection handle
WAITDESC  CMQXWDA  ,  Wait descriptor
COMPCODE  DS       F  Completion code
REASON    DS       F  Reason code qualifying COMPCODE