MQZ_GET_AUTHORITY - 権限の取得
MQZAS_VERSION_1 許可サービス・コンポーネントよって提供されるこの関数は、キュー・マネージャーによって開始されて、指定されたオブジェクトに対するエンティティーのアクセス権限を取得します。また、プリンシパルがメンバーになっているグループによって処理される権限も取得されます (エンティティーがプリンシパルである場合)。 総称プロファイルにおける権限が、返される権限セットに含められます。
この関数の関数 ID (MQZEP 用) は、MQZID_GET_AUTHORITY です。
構文
MQZ_GET_AUTHORITY ( QMgrName, EntityName, EntityType, ObjectName, ObjectType, Authority, ComponentData, Continuation, CompCode, Reason)パラメーター
- QMgrName
- タイプ: MQCHAR48 - 入力
キュー・マネージャー名コンポーネントを呼び出すキュー・マネージャーの名前。この名前にはパラメーターの長さになるまでブランクが埋め込まれます。名前はヌル文字で終了しません。
キュー・マネージャー名は、情報としてコンポーネントに渡されます。許可サービス・インターフェースでは、コンポーネントは定義されている方法でこの情報を使用する必要はありません。
- EntityName
- タイプ: MQCHAR12 - 入力
エンティティー名。オブジェクトに対するアクセス権限を検索するエンティティーの名前。ストリングの長さは最大で 12 文字です。12 文字未満の場合、その名前の右側がブランクで埋められます。名前の最後をヌル文字にすることはできません。
- EntityType
- タイプ: MQLONG - 入力エンティティー・タイプ。EntityName によって指定されるエンティティーのタイプ。 値は、次のいずれかでなければなりません。
- プリンシパル。
- グループ。
- ObjectName
- タイプ: MQCHAR48 - 入力
オブジェクト名。アクセス権限を取得するオブジェクトの名前。 ストリングの長さは最大で 48 文字です。48 文字未満の場合、その名前の右側がブランクで埋められます。 名前の最後をヌル文字にすることはできません。
ObjectType が MQOT_Q_MGR の場合、この名前は QMgrName と同じになります。
- ObjectType
- タイプ: MQLONG - 入力オブジェクト・タイプObjectName によって指定されるエンティティーのタイプ。値は、次のいずれかでなければなりません。
- 認証情報
- チャネル。
- クライアント接続チャネル。
- リスナー
- 名前リスト。
- プロセス定義。
- キュー。
- キュー・マネージャー。
- サービス
- トピック。
- 権限
- タイプ: MQLONG - 入力
エンティティーの権限。エンティティーの権限が 1 つの場合、このフィールドは該当する許可演算 (MQZAO_* 定数) に等しくなります。複数の権限を持つ場合、このフィールドは対応する MQZAO_* 定数のビット単位 OR になります。
- ComponentData
- タイプ: MQBYTE×ComponentDataLength - 入出力
コンポーネント・データ。このデータは、この特定のコンポーネントのためにキュー・マネージャーで保持されます。このコンポーネントに用意されているいずれかの関数で変更された内容は保持され、これらのコンポーネントのいずれかの関数が次回に呼び出されると提示されます。
このデータ域の長さは、キュー・マネージャーにより MQZ_INIT_AUTHORITY 呼び出しの ComponentDataLength パラメーターに入れられて渡されます。
- Continuation
- タイプ: MQLONG - 出力コンポーネントによって設定される継続標識。指定可能な値は、次のとおりです。
- キュー・マネージャーに依存する継続。
MQZ_GET_AUTHORITY の場合、MQZCI_CONTINUE と同じ効果があります。
- 次のコンポーネントに継続。
- 次のコンポーネントに継続しない。
- キュー・マネージャーに依存する継続。
- CompCode
- タイプ: MQLONG - 出力完了コード。値は、次のいずれかでなければなりません。
- 正常終了。
- 呼び出しに失敗。
- Reason
- タイプ: MQLONG - 出力
CompCode を限定する理由コード。
CompCode が MQCC_OK の場合、次のようになります。- (0, X'000') レポートする理由コードはありません。
CompCode が MQCC_FAILED の場合、次のようになります。- (2035, X'7F3') アクセスは許可されません。
- (2289, X'8F1') サービスのアクセスで、予期しないエラーが発生しました。
- (2285, X'8ED') 基本サービスを使用できません。
- (2292, X'8F4') サービスに対して不明なエンティティーです。
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 */
資料