MQCLOSE命令 - オブジェクトのクローズ
機能
MQCLOSE命令で,オブジェクトの利用を終了します。MQOPEN命令の反対の命令です。
形式
C言語の場合
MQCLOSE(MQHCONN Hconn, PMQHOBJ Hobj, MQLONG Options,
PMQLONG CompCode, PMQLONG Reason)
COBOL言語の場合
CALL 'MQCLOSE' USING HCONN, HOBJ, OPTIONS, COMPCODE, REASON.
引数
● Hconn(MQHCONN型) -input
コネクションハンドルです。
キューマネジャへの接続を示すハンドルです。MQCONN命令の戻り値を指定してください。
● Hobj(MQHOBJ型) -input/output
オブジェクトハンドルです。
クローズするオブジェクトを示すハンドルです。どんなオブジェクトタイプでもかまいません。MQOPEN命令の戻り値を指定してください。
命令が成功すると,この引数には次の値が返されます。
● Options(MQLONG型) -input
MQCLOSE命令の動作を制御するクローズオプションです。
オブジェクトのクローズの方法を示します。永続的動的キューの場合だけ,キューを残す方法または削除する方法のどちらかでクローズできます。なお,永続的動的キューは,DefinitionType属性がMQQDT_PERMANENT_DYNAMICのキューです。クローズオプションについては,表2-1に示します。
次のどれかの値を取れます。
クローズオプションとオブジェクトの関係を次の表に示します。
表2-1 クローズオプションとオブジェクトの関係
オブジェクト | クローズオプション | ||
---|---|---|---|
MQCO_NONE | MQCO_DELETE | MQCO_DELETE_PURGE | |
キュー以外 | 1 | 2 | 2 |
定義済みキュー | 1 | 2 | 2 |
永続的動的キュー | 1 | 3 | 4 |
一時的動的キュー (作成者) | 5 | 5 | 5 |
一時的動的キュー (作成者以外) | 1 | 2 | 2 |
配布リスト | 1 | 2 | 2 |
● CompCode(MQLONG型) -output
完了コードです。
次のどれかが返されます。
● Reason(MQLONG型) -output
理由コードです。
CompCode引数がMQCC_OKの場合
理由コード | 数値 | 意味 |
---|---|---|
MQRC_NONE | 0 | 理由コードはありません。 |
CompCode引数がMQCC_WARNINGの場合
理由コード | 数値 | 意味 |
---|---|---|
MQRC_INCOMPLETE_GROUP | 2241 | メッセージグループが完全ではありません。 |
MQRC_INCOMPLETE_MSG | 2242 | 論理メッセージが完全ではありません。 |
CompCode引数がMQCC_FAILEDの場合
理由コード | 数値 | 意味 |
---|---|---|
MQRC_HCONN_ERROR | 2018 | コネクションハンドルが不正です。 |
MQRC_HOBJ_ERROR | 2019 | オブジェクトハンドルが不正です。 |
MQRC_OBJECT_DAMAGED | 2101 | オブジェクトが破損しています。 |
MQRC_OPTION_NOT_VALID_FOR_TYPE | 2045 | オブジェクトタイプに適合しないオプションが指定されました。 |
MQRC_OPTIONS_ERROR | 2046 | オプションが不正です。または,指定されていません。 |
MQRC_Q_NOT_EMPTY | 2055 | キューに一つ以上のメッセージがあります。または,キューに対する登録・取り出し要求がコミットしていません。 |
MQRC_RESOURCE_PROBLEM | 2102 | システム資源が不足しています。 |
MQRC_STORAGE_NOT_AVAILABLE | 2071 | 記憶容量が不足しています。 |
MQRC_UNEXPECTED_ERROR | 2195 | 予期しないエラーが発生しました。 |
詳細は,「付録B.2 理由コード」を参照してください。
注意事項