AuthzCachedAccessCheck 函式 (authz.h)

AuthzCachedAccessCheck 函式會根據包含來自先前 AuthzAccessCheck 呼叫之靜態授與位的快取句柄來執行快速存取檢查。

語法

AUTHZAPI BOOL AuthzCachedAccessCheck(
  [in]  DWORD                             Flags,
  [in]  AUTHZ_ACCESS_CHECK_RESULTS_HANDLE hAccessCheckResults,
  [in]  PAUTHZ_ACCESS_REQUEST             pRequest,
  [in]  AUTHZ_AUDIT_EVENT_HANDLE          hAuditEvent,
  [out] PAUTHZ_ACCESS_REPLY               pReply
);

參數

[in] Flags

保留供未來使用。

[in] hAccessCheckResults

快取存取檢查結果的句柄。

[in] pRequest

如果有任何) ,則存取要求句柄會指定所需的 存取遮罩、主體自我 SID 和物件類型清單結構 (。

[in] hAuditEvent

結構,包含物件特定的稽核資訊。 當此參數的值不是 Null 時,會自動要求稽核。 靜態稽核資訊是從資源管理員結構讀取。

[out] pReply

AUTHZ_ACCESS_REPLY 句柄 的指標,傳回存取檢查結果做為 GrantedAccessMask/ErrorValue 配對的陣列。 傳回的配對數目是由AUTHZ_ACCESS_REPLY 結構之 ResultListLength 成員中的呼叫端所提供。

傳回值

如果函式成功,則會傳回 TRUE

如果函式失敗,則會傳回 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

下表顯示傳回之陣列元素之 Error 成員的預期值。

傳回碼 Description
ERROR_SUCCESS
pReply 參數的所有存取位,不包括MAXIMUM_ALLOWED,而且 pReply 參數的 GrantedAccessMask 成員不是零。
ERROR_PRIVILEGE_NOT_HELD
pRequest 參數的 DesiredAccess 成員包含ACCESS_SYSTEM_SECURITY,而且客戶端沒有 SeSecurityPrivilege 許可權。
ERROR_ACCESS_DENIED
下列一或多個是 true:
  • 未授與要求的位。
  • MaximumAllowed 位為開啟,且授與的存取權為零。
  • pRequest 參數的 DesiredAccess 成員為零。

備註

用戶端內容指標會儲存在 AuthzHandle 參數中。 用戶端內容的結構必須與建立 AuthzHandle 時完全相同。 此限制適用於下列欄位:

  • SID
  • RestrictedSids
  • 權限
主要 安全性描述元 和選擇性安全性描述元數位的指標會在建立句柄時儲存在 AuthzHandle 中。 這些指標仍然有效。

AuthzCachedAccessCheck 函式會維護快取,因為評估物件上的中央存取原則 (CAP) ,例如使用 AUTHZ_RM_FLAG_NO_CENTRAL_ACCESS_POLICIES 旗標時。 用戶端可以呼叫 AuthzFreeCentralAccessPolicyCache 函式來釋放此快取。 請注意,這需要後續呼叫 AuthzCachedAccessCheck ,以在必要時重建快取。

如需詳細資訊,請參閱 AccessCheck 的運作方式集中式授權原則 概觀。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 authz.h
程式庫 Authz.lib
Dll Authz.dll
可轉散發套件 Windows XP 上的 Windows Server 2003 系統管理工具套件

另請參閱

AUTHZ_ACCESS_REPLY

AuthzAccessCheck

AuthzFreeCentralAccessPolicyCache

AuthzInitializeResourceManager

基本 存取控制 函式

集中式授權原則

AccessCheck 的運作方式