MQINQ命令 - オブジェクトの属性の照会
機能
MQINQ命令で,オブジェクトの属性を示す整数の配列と文字列が返されます。次に示す種類のオブジェクトの属性を照会できます。
形式
C言語の場合
MQINQ(MQHCONN Hconn, MQHOBJ Hobj, MQLONG SelectorCount,
PMQLONG Selectors, MQLONG IntAttrCount,
PMQLONG IntAttrs, MQLONG CharAttrLength,
PMQCHAR CharAttrs, PMQLONG CompCode,
PMQLONG Reason)
COBOL言語の場合
CALL 'MQINQ' USING HCONN, HOBJ, SELECTORCOUNT, SELECTORS,
INTATTRCOUNT, INTATTRS, CHARATTRLENGTH, CHARATTRS,
COMPCODE, REASON.
引数
● Hconn(MQHCONN型) -input
コネクションハンドルです。
キューマネジャへの接続を示すハンドルです。MQCONN命令の戻り値を指定してください。
● Hobj(MQHOBJ型) -input
オブジェクトハンドルです。
属性を照会するオブジェクトを示すハンドルです。MQOO_INQUIREオプションを指定したMQOPEN命令の戻り値を指定してください。
● SelectorCount(MQLONG型) -input
セレクタ数です。
Selectorsの配列に指定するセレクタの数を指定します。ここで指定した数の属性が返されます。セレクタ数は,0~256の範囲で指定できます。
● Selectors(MQLONG型×SelectorCount) -input
セレクタです。
SelectorCountの要素数の配列でセレクタを指定します。それぞれのセレクタは,照会する整数型属性または文字型属性の種類を示します。
それぞれのセレクタは,Hobjのオブジェクトの種類に合ったものを指定してください。適合しないセレクタを指定した場合,完了コードMQCC_FAILED,理由コードMQRC_SELECTOR_ERRORで命令は終了します。
キューの場合は次のようになります。
セレクタはどの順序で指定してもかまいません。整数型属性のセレクタ(MQIA_*セレクタ)の属性値は,Selectors引数に指定した順序で,IntAttrs引数に返されます。文字型属性のセレクタ(MQCA_*セレクタ)の属性値は,セレクタで指定した順序で,CharAttrs引数に返されます。MQIA_*セレクタは,MQCA_*セレクタと交互に指定できます。各種類での順序だけが重要です。
照会できる属性について,次の表に示します。括弧内の値は,MQCA_*セレクタでCharAttrs引数に設定する文字列の長さを定義した定数です。
表2-2 MQINQ命令の属性セレクタ(キュー用)
セレクタ | 説明 |
---|---|
MQCA_BASE_Q_NAME | ベースキュー名 (MQ_Q_NAME_LENGTH) |
MQCA_CLUSTER_NAME | クラスタ名称 (MQ_CLUSTER_NAME_LENGTH) |
MQCA_CREATION_DATE | 作成日付 (MQ_CREATION_DATE_LENGTH) |
MQCA_CREATION_TIME | 作成時刻 (MQ_CREATION_TIME_LENGTH) |
MQCA_INITIATION_Q_NAME | イニシエーションキュー名 (MQ_Q_NAME_LENGTH) |
MQCA_PROCESS_NAME | プロセス名 (MQ_PROCESS_NAME_LENGTH) |
MQCA_Q_DESC | キュー記述子 (MQ_Q_DESC_LENGTH) |
MQCA_Q_NAME | キュー名 (MQ_Q_NAME_LENGTH) |
MQCA_REMOTE_Q_MGR_NAME | リモートキューマネジャ名 (MQ_Q_MGR_NAME_LENGTH) |
MQCA_REMOTE_Q_NAME | リモートキュー名 (MQ_Q_NAME_LENGTH) |
MQCA_TRIGGER_DATA | トリガデータ (MQ_TRIGGER_DATA_LENGTH) |
MQCA_XMIT_Q_NAME | 転送キュー名 (MQ_Q_NAME_LENGTH) |
MQIA_CURRENT_Q_DEPTH | メッセージ登録数 |
MQIA_DEFINITION_TYPE | 定義タイプ |
MQIA_DEF_BIND | デフォルトバインディング |
MQIA_DEF_INPUT_OPEN_OPTION | 省略時の取り出しオプション |
MQIA_DEF_PERSISTENCE | 省略時のメッセージ永続性 |
MQIA_DEF_PRIORITY | 省略時のメッセージ優先度 |
MQIA_DIST_LISTS | 配布リストサポート |
MQIA_HARDEN_GET_BACKOUT | ロールバック回数記録方法 |
MQIA_INHIBIT_GET | 取り出し許可 |
MQIA_INHIBIT_PUT | 登録許可 |
MQIA_MAX_MSG_LENGTH | 最大メッセージ長 |
MQIA_MAX_Q_DEPTH | 最大メッセージ登録数 |
MQIA_MSG_DELIVERY_SEQUENCE | メッセージ配布順序 |
MQIA_OPEN_INPUT_COUNT | 入力オープン数 |
MQIA_OPEN_OUTPUT_COUNT | 出力オープン数 |
MQIA_Q_TYPE | キュータイプ |
MQIA_RETENTION_INTERVAL | キュー保持時間 |
MQIA_SCOPE | キューの有効範囲 |
MQIA_SHAREABILITY | 共用性 |
MQIA_TRIGGER_CONTROL | トリガ制御 |
MQIA_TRIGGER_DEPTH | トリガのためのメッセージ登録数の下限値 |
MQIA_TRIGGER_MSG_PRIORITY | トリガのためのメッセージ優先度の下限値 |
MQIA_TRIGGER_TYPE | トリガタイプ |
MQIA_USAGE | 使用種別 |
表2-3 MQINQ命令の属性セレクタ(プロセス定義用)
セレクタ | 説明 |
---|---|
MQCA_APPL_ID | アプリケーション識別子 (MQ_PROCESS_APPL_ID_LENGTH) |
MQCA_ENV_DATA | 環境データ (MQ_PROCESS_ENV_DATA_LENGTH) |
MQCA_PROCESS_DESC | プロセス記述子 (MQ_PROCESS_DESC_LENGTH) |
MQCA_PROCESS_NAME | プロセス名 (MQ_PROCESS_NAME_LENGTH) |
MQCA_USER_DATA | ユーザデータ (MQ_PROCESS_USER_DATA_LENGTH) |
MQIA_APPL_TYPE | アプリケーションタイプ |
表2-4 MQINQ命令の属性セレクタ(キューマネジャ用)
セレクタ | 説明 |
---|---|
MQCA_DEAD_LETTER_Q_NAME | デッドレターキュー名 (MQ_Q_NAME_LENGTH) |
MQCA_DEF_XMIT_Q_NAME | 省略時の転送キュー名 (MQ_Q_NAME_LENGTH) |
MQIA_DIST_LISTS | 配布リストサポート |
MQCA_Q_MGR_DESC | キューマネジャ記述子 (MQ_Q_MGR_DESC_LENGTH) |
MQCA_Q_MGR_NAME | キューマネジャ名 (MQ_Q_MGR_NAME_LENGTH) |
MQIA_CODED_CHAR_SET_ID | 文字セット識別子 |
MQIA_MAX_HANDLES | 最大ハンドル数 |
MQIA_MAX_MSG_LENGTH | 最大メッセージ長 |
MQIA_MAX_PRIORITY | 最大メッセージ優先度 |
MQIA_MAX_UNCOMMITTED_MSGS | トランザクション完了待ち最大メッセージ数※ |
MQIA_PLATFORM | プラットフォーム |
MQIA_SYNCPOINT | トランザクション有効性 |
MQIA_TRIGGER_INTERVAL | トリガ間隔 |
MQCA_REPOSITORY_NAME | キューマネジャがリポジトリサービスを提供するクラスタの名前 |
● IntAttrCount(MQLONG型) -input
整数型属性値の数です。
IntAttrsの配列の要素数を指定します。0も指定できます。
これがSelectors引数のMQIA_*セレクタの数と等しいとき,すべて整数型属性値が返されます。
● IntAttrs(MQLONG型×IntAttrCount) -output
整数型属性値の配列です。
IntAttrCountの要素数の配列で整数型属性値が返されます。
整数型属性値は,Selectors引数のMQIA_*セレクタで指定した順序で返されます。MQIA_*セレクタの数よりも大きい配列を用意した場合,不要な部分は変更されません。
Hobj引数がキューを示す場合で,属性のセレクタがそのキュータイプに適合しないとき,IntAttrsの配列の該当する要素として,MQIAV_NOT_APPLICABLEが返されます。
IntAttrCount引数またはSelectorCount引数の値が0の場合,IntAttrs引数は参照されません。この場合,C言語のプログラムでは引数のアドレスとしてヌルを指定できます。
● CharAttrLength(MQLONG型) -input
文字型属性値の格納領域長です。
CharAttrsの格納領域長をバイト単位で指定します。
照会する文字型属性値の長さの合計を指定してください。文字型属性値の長さについては,「Selectors引数」の説明を参照してください。0も指定できます。
● CharAttrs(MQCHAR型×CharAttrLength) -output
文字型属性値の格納領域です。
この格納領域に,文字型の属性がつながれて返されます。バッファの長さはCharAttrLength引数の値です。
文字型属性値は,Selectors引数のMQCA_*セレクタで指定した順序で返されます。属性の文字列の長さは,各属性に固有です。文字型属性値の長さについては,「Selectors引数」の説明を参照してください。値の余りは空白で埋められます。空白による埋めを含めて,照会する属性の文字列よりも格納領域が大きい場合,不要な部分は変更されません。
Hobj引数がキューを示す場合で,属性のセレクタがそのキュータイプに適合しないとき,CharAttrs引数の格納領域の該当する部分にアスタリスク(*)が設定されます。
CharAttrLength引数またはSelectorCount引数の値が0の場合,CharAttrs引数は参照されません。この場合,C言語のプログラムでは引数のアドレスとしてヌルを指定できます。
● CompCode(MQLONG型) -output
完了コードです。
次のどれかが返されます。
● Reason(MQLONG型) -output
理由コードです。
CompCode引数がMQCC_OKの場合
理由コード | 数値 | 意味 |
---|---|---|
MQRC_NONE | 0 | 理由コードはありません。 |
CompCode引数がMQCC_WARNINGの場合
理由コード | 数値 | 意味 |
---|---|---|
MQRC_CHAR_ATTRS_TOO_SHORT | 2008 | 文字型属性値に対して十分な領域がありません。 |
MQRC_INT_ATTR_COUNT_TOO_SMALL | 2022 | 整数型属性値に対して十分な領域がありません。 |
MQRC_SELECTOR_NOT_FOR_TYPE | 2068 | セレクタがキュータイプに適合しません。 |
CompCode引数がMQCC_FAILEDの場合
理由コード | 数値 | 意味 |
---|---|---|
MQRC_CHAR_ATTR_LENGTH_ERROR | 2006 | 文字型属性長が不正です。 |
MQRC_CHAR_ATTRS_ERROR | 2007 | 文字型属性値が不正です。 |
MQRC_HCONN_ERROR | 2018 | コネクションハンドルが不正です。 |
MQRC_HOBJ_ERROR | 2019 | オブジェクトハンドルが不正です。 |
MQRC_INT_ATTR_COUNT_ERROR | 2021 | 整数型属性数が不正です。 |
MQRC_INT_ATTRS_ARRAY_ERROR | 2023 | 整数型属性値が不正です。 |
MQRC_NOT_OPEN_FOR_INQUIRE | 2038 | キューが照会用にオープンされていません。 |
MQRC_OBJECT_DAMAGED | 2101 | オブジェクトが破損しています。 |
MQRC_Q_DELETED | 2052 | キューが削除されています。 |
MQRC_RESOURCE_PROBLEM | 2102 | システム資源が不足しています。 |
MQRC_SELECTOR_COUNT_ERROR | 2065 | セレクタ数が不正です。 |
MQRC_SELECTOR_ERROR | 2067 | セレクタが不正です。 |
MQRC_SELECTOR_LIMIT_EXCEEDED | 2066 | セレクタ数が最大値を超えています。 |
MQRC_STORAGE_NOT_AVAILABLE | 2071 | 記憶容量が不足しています。 |
MQRC_UNEXPECTED_ERROR | 2195 | 予期しないエラーが発生しました。 |
詳細は,「付録B.2 理由コード」を参照してください。
注意事項