MQZ_GET_AUTHORITY_2 -取得權限 (延伸)
此函數由 MQZAS_VERSION_2 授權服務元件提供,並由佇列管理程式啟動,以擷取實體存取指定物件所需的權限。
此函數 (適用於 MQZEP) 的函數 ID 是 MQZID_GET_AUTHORITY。
MQZ_GET_AUTHORITY_2 類似於 MQZ_GET_AUTHORITY ,但使用 EntityData 參數取代 EntityName 參數。
語法
MQZ_GET_AUTHORITY_2( QMgrName , EntityData , EntityType , ObjectName , ObjectType , Authority , ComponentData , Continuation , CompCode , Reason )參數
- QMgrName
- 類型: MQCHAR48 -輸入
佇列管理程式名稱。 呼叫元件的佇列管理程式名稱。 此名稱以空白填補參數的完整長度; 名稱不是以空值字元結尾。
佇列管理程式名稱會傳遞至元件以取得資訊; 授權服務介面不需要元件以任何定義的方式來使用它。
- EntityData
- 類型 :MQZED-輸入
實體資料。 與要擷取物件授權之實體相關的資料。 如需詳細資料,請參閱 MQZED-實體描述子 。
- EntityType
- 類型 :MQLONG-輸入實體類型。
EntityData指定的實體類型。 它必須是下列其中一個值: - ObjectName
- 類型: MQCHAR48 -輸入
物件名稱。 要擷取其實體權限的物件名稱。 字串的長度上限為 48 個字元; 如果它比以空白填補它的長度還短的話。 名稱不是以空值字元終止。
如果
ObjectType是 MQOT_Q_MGR ,則此名稱與QMgrName相同。 - ObjectType
- 類型 :MQLONG-輸入物件類型。
ObjectName指定的實體類型。 它必須是下列其中一個值: - 權限
- 類型 :MQLONG-輸入
實體的權限。 如果實體具有一個權限,則此欄位等於適當的授權作業 (MQZAO_ * 常數)。 如果它具有多個權限,則此欄位是對應 MQZAO_ * 常數的位元 OR 運算。
- ComponentData
- 類型 :MQBYTE ×ComponentData長度-輸入/輸出
元件資料。 此資料由佇列管理程式代表此特定元件保留; 此元件提供的任何功能對其進行的任何變更都會保留,並在下次呼叫其中一個元件功能時呈現。
佇列管理程式會在 MQZ_INIT_AUTHORITY 呼叫的 ComponentDataLength 參數中傳遞此資料區的長度。
- 接續
- 類型 :MQLONG-輸出依元件設定的接續指示器。 可以指定下列值:
- CompCode
- 類型 :MQLONG-輸出完成碼。 它必須是下列其中一個值:
- 原因
- 類型 :MQLONG-輸出
定義 CompCode的原因碼。
如果 CompCode 是 MQCC_OK:如果 CompCode 是 MQCC_FAILED:如需這些原因碼的相關資訊,請參閱 API 完成及原因碼。
C 呼叫
MQZ_GET_AUTHORITY_2 (QMgrName, &EntityData, EntityType, ObjectName,
ObjectType, &Authority, ComponentData,
&Continuation, &CompCode, &Reason);
傳遞至服務的參數宣告如下:
MQCHAR48 QMgrName; /* Queue manager name */
MQZED EntityData; /* Entity data */
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 */