メッセージがキューに到着するまでアプリケーションで待ち合わせしたい場合は,MQGMO構造体のOptionsフィールドにMQGMO_WAITを指定してください。MQGET命令の待ち合わせ最大時間(ミリ秒)は,MQGMO構造体のWaitIntervalフィールドに設定します。
待ち合わせ最大時間内にメッセージが到着しない場合,MQGET命令はMQRC_NO_MSG_AVAILABLEの理由コードで完了します。
WaitIntervalフィールドにMQWI_UNLIMITEDを指定すると,無制限に待つことができます。しかし,ユーザの制御外にあるイベントによってアプリケーションが長く待たされることもあるので,この定数を使用する場合は注意してください。また,無制限に待ち合わせている間にアプリケーションまたはOpenTP1を終了させた場合,MQGET命令は理由コードMQRC_Q_MGR_STOPPINGで完了します。
待ち合わせ最大時間が経過する前に,キューまたはキューマネジャの状態が変わる場合は,次に示すとおりに動作します。