MQZ_GET_AUTHORITY - 権限の取得

MQZAS_VERSION_1 許可サービス・コンポーネントよって提供されるこの関数は、キュー・マネージャーによって開始されて、指定されたオブジェクトに対するエンティティーのアクセス権限を取得します。また、プリンシパルがメンバーになっているグループによって処理される権限も取得されます (エンティティーがプリンシパルである場合)。 総称プロファイルにおける権限が、返される権限セットに含められます。

この関数の関数 ID (MQZEP 用) は、MQZID_GET_AUTHORITY です。

パラメーター

QMgrName
タイプ: MQCHAR48 - 入力

キュー・マネージャー名コンポーネントを呼び出すキュー・マネージャーの名前。この名前にはパラメーターの長さになるまでブランクが埋め込まれます。名前はヌル文字で終了しません。

キュー・マネージャー名は、情報としてコンポーネントに渡されます。許可サービス・インターフェースでは、コンポーネントは定義されている方法でこの情報を使用する必要はありません。

EntityName
タイプ: MQCHAR12 - 入力

エンティティー名。オブジェクトに対するアクセス権限を検索するエンティティーの名前。ストリングの長さは最大で 12 文字です。12 文字未満の場合、その名前の右側がブランクで埋められます。名前の最後をヌル文字にすることはできません。

EntityType
タイプ: MQLONG - 入力
エンティティー・タイプ。EntityName によって指定されるエンティティーのタイプ。 値は、次のいずれかでなければなりません。
MQZAET_PRINCIPAL
プリンシパル。
MQZAET_GROUP
グループ。
ObjectName
タイプ: MQCHAR48 - 入力

オブジェクト名。アクセス権限を取得するオブジェクトの名前。 ストリングの長さは最大で 48 文字です。48 文字未満の場合、その名前の右側がブランクで埋められます。 名前の最後をヌル文字にすることはできません。

ObjectType が MQOT_Q_MGR の場合、この名前は QMgrName と同じになります。

ObjectType
タイプ: MQLONG - 入力
オブジェクト・タイプObjectName によって指定されるエンティティーのタイプ。値は、次のいずれかでなければなりません。
MQOT_AUTH_INFO
認証情報
MQOT_CHANNEL
チャネル。
MQOT_CLNTCONN_CHANNEL
クライアント接続チャネル。
MQOT_LISTENER
リスナー
MQOT_NAMELIST
名前リスト。
MQOT_PROCESS
プロセス定義。
MQOT_Q
キュー。
MQOT_Q_MGR
キュー・マネージャー。
MQOT_SERVICE
サービス
MQOT_TOPIC
トピック。
権限
タイプ: MQLONG - 入力

エンティティーの権限。エンティティーの権限が 1 つの場合、このフィールドは該当する許可演算 (MQZAO_* 定数) に等しくなります。複数の権限を持つ場合、このフィールドは対応する MQZAO_* 定数のビット単位 OR になります。

ComponentData
タイプ: MQBYTE×ComponentDataLength - 入出力

コンポーネント・データ。このデータは、この特定のコンポーネントのためにキュー・マネージャーで保持されます。このコンポーネントに用意されているいずれかの関数で変更された内容は保持され、これらのコンポーネントのいずれかの関数が次回に呼び出されると提示されます。

このデータ域の長さは、キュー・マネージャーにより MQZ_INIT_AUTHORITY 呼び出しの ComponentDataLength パラメーターに入れられて渡されます。

Continuation
タイプ: MQLONG - 出力
コンポーネントによって設定される継続標識。指定可能な値は、次のとおりです。
MQZCI_DEFAULT
キュー・マネージャーに依存する継続。

MQZ_GET_AUTHORITY の場合、MQZCI_CONTINUE と同じ効果があります。

MQZCI_CONTINUE
次のコンポーネントに継続。
MQZCI_STOP
次のコンポーネントに継続しない。
CompCode
タイプ: MQLONG - 出力
完了コード。値は、次のいずれかでなければなりません。
MQCC_OK
正常終了。
MQCC_FAILED
呼び出しに失敗。
Reason
タイプ: MQLONG - 出力

CompCode を限定する理由コード。

CompCode が MQCC_OK の場合、次のようになります。
MQRC_NONE
(0, X'000') レポートする理由コードはありません。
CompCode が MQCC_FAILED の場合、次のようになります。
MQRC_NOT_AUTHORIZED
(2035, X'7F3') アクセスは許可されません。
MQRC_SERVICE_ERROR
(2289, X'8F1') サービスのアクセスで、予期しないエラーが発生しました。
MQRC_SERVICE_NOT_AVAILABLE
(2285, X'8ED') 基本サービスを使用できません。
MQRC_UNKNOWN_ENTITY
(2292, X'8F4') サービスに対して不明なエンティティーです。
これらの理由コードの詳細については、API 理由コードを参照してください。

C 言語での呼び出し

MQZ_GET_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName,
                  ObjectType, &Authority, ComponentData,
                  &Continuation, &CompCode, &Reason);
サービスに渡されるパラメーターは次のように宣言されます。
MQCHAR48  QMgrName;          /* Queue manager name */
MQCHAR12  EntityName;        /* Entity name */
MQLONG    EntityType;        /* Entity type */
MQCHAR48  ObjectName;        /* Object name */
MQLONG    ObjectType;        /* Object type */
MQLONG    Authority;         /* Authority of entity */
MQBYTE    ComponentData[n];  /* Component data */
MQLONG    Continuation;      /* Continuation indicator set by
                                component */
MQLONG    CompCode;          /* Completion code */
MQLONG    Reason;            /* Reason code qualifying CompCode */

資料 資料

フィードバック

タイム・スタンプ・アイコン 最終更新: 2018 年 10 月 2 日 (火)
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.dev.doc/com.ibm.mq.ref.dev.doc/q110170_.htm fa17580_