機能説明
指定した複数のメッセージキューのすべてのカーソルをメッセージキューの先頭メッセージに移動します。
記述形式
--------------------------------------------------------------------------------------- #include "mqdapi.h" int mqd_seekmsgex(MQD_MessageQueueex *queuegroup, int *queindex,
MQD_Environment *env) ---------------------------------------------------------------------------------------
パラメタ
mqd_connectqex関数から返されたメッセージキューグループへのポインタをそのまま指定します。
メッセージキューのインデックスが通知されます。インデックスは、mqd_connectqex関数で指定したメッセージキュー名の配列のインデックスで、以下のように通知されます。
0,1,2,…,n: メッセージキューのインデックス
-1 : メッセージキューに関係なく異常復帰した場合
例外処理のための復帰情報へのポインタを指定します。エラー詳細コードに以下の値が返されます。復帰情報(MQD_Environment構造体)の詳細については、“8.4 復帰情報の説明”を参照してください。
queindexに“-1”を通知するエラー詳細コード
MQD_ERR_SYNTAX, MQD_ERR_NOSYSTEM, MQD_ERR_NOCONNECT, MQD_ERR_NOMEMORY
queindexにメッセージキューのインデックスを通知するエラー詳細コード
MQD_ERR_NOQUE
queindexにメッセージキューのインデックス、または、“-1”を通知するエラー詳細コード
MQD_ERR_NOCONNECTQUE
復帰値
本関数の処理結果が以下の復帰値で通知されます。
正常時: 0
異常時: -1
注意事項
本関数を使用する場合は、事前にmqd_connectqex関数でメッセージキューに接続してください。
正しく移動できなかった場合には、カーソル位置は保証されません。カーソルをメッセージキューの先頭メッセージに移動するためには、mqd_disconnectqex関数を使用して複数メッセージキューから切断を行い、mqd_connectqex関数を使用して再度複数メッセージキューへ接続を行ってください。
直前のトランザクションを取り消した場合には、カーソルを先頭メッセージに位置付けるために本関数を実行してください。