機能説明
メッセージキューを削除します。通常は、以下の状態のメッセージキューが削除の対象となります。
メッセージキューへ接続している利用者がいない かつ、
メッセージが存在していない
上記条件を満たしていない場合でも強制的にメッセージキューを削除することができます。
記述形式
#include "mqdapi.h" int mqd_deleteq(MQD_System *system, char *qname, int mode, MQD_Environment *env)
パラメタ
mqd_connect関数から返されたMQDシステム情報へのポインタをそのまま指定します。
メッセージキュー名へのポインタを指定します。メッセージキュー名は、メッセージキューを作成したときに指定したメッセージキューの名前です。
削除モードを指定します。
通常モード。利用者もメッセージも存在しないメッセージキューを削除します。
強制モード。無条件にメッセージキューを削除します。
例外処理のための復帰情報へのポインタを指定します。エラー詳細コードに以下の値が返されます。復帰情報(MQD_Environment構造体)の詳細については、“8.4 復帰情報の説明”を参照してください。
MQD_ERR_SYNTAX
MQD_ERR_NOSYSTEM
MQD_ERR_NOCONNECT
MQD_ERR_CONNECTED
MQD_ERR_ONTRAN
MQD_ERR_DOWNRCV
MQD_ERR_DEADLOCK
MQD_ERR_IO
MQD_ERR_NOMEMORY
MQD_ERR_PROCESSOVER
MQD_ERR_TRANFILE
MQD_ERR_MSGFILE
MQD_ERR_OPENQUEOVER
MQD_ERR_NOQUE
MQD_ERR_MSGEXIST
MQD_ERR_QNAME
MQD_ERR_DELMODE
MQD_ERR_INVALIDAPI
復帰値
本関数の処理結果が以下の復帰値で通知されます。
正常時:0
異常時: -1
注意事項
メッセージキューを削除するためには、MQDへ接続しておく必要があります。
メッセージキューを強制モードで削除する場合には、上記以外にいくつかの注意すべき事項があります。詳細については、“2.4.3 メッセージキューの削除”を参照してください。
エラー詳細コード“MQD_ERR_DEADLOCK”は、メッセージ格納ファイルとしてデータベースを使用している場合に限り通知されます。
当該アプリケーションがmqd_connectrdb関数を使用してMQDに接続している場合、本関数はエラー詳細コード“MQD_ERR_INVALIDAPI”で復帰します。