AuthzAccessCheck 函式 (authz.h)
AuthzAccessCheck 函式會決定哪些存取位可以授與用戶端,以取得一組給定的安全性描述元。 AUTHZ_ACCESS_REPLY 結構會傳回授與存取掩碼和錯誤狀態的陣列。 您可以選擇性地快取一律授與的存取遮罩,並傳回快取值的句柄。
語法
AUTHZAPI BOOL AuthzAccessCheck(
[in] DWORD Flags,
[in] AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
[in] PAUTHZ_ACCESS_REQUEST pRequest,
[in, optional] AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in, optional] PSECURITY_DESCRIPTOR *OptionalSecurityDescriptorArray,
[in, optional] DWORD OptionalSecurityDescriptorCount,
[in, out] PAUTHZ_ACCESS_REPLY pReply,
[out, optional] PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE phAccessCheckResults
);
參數
[in] Flags
DWORD 值,指定如何複製安全性描述元。 此參數可以是下列其中一個值。
從 Windows 8 和 Windows Server 2012 開始,當您在遠端內容句柄上呼叫此函式時,上限 16 位必須是零。
值 | 意義 |
---|---|
|
如果 phAccessCheckResults 不是 NULL,則會將安全性描述元的深層複本複製到 phAccessCheckResults 所參考的句柄。 |
|
不會執行安全性描述元的深層複本。 呼叫的應用程式必須在 phAccessCheckResults 中傳遞AUTHZ_ACCESS_CHECK_RESULTS_HANDLE句柄的位址。 AuthzAccessCheck 函式會將此句柄設定為安全性描述元,在後續呼叫 AuthzCachedAccessCheck 期間必須保持有效。 |
[in] hAuthzClientContext
表示客戶端之結構的句柄。
從 Windows 8 和 Windows Server 2012 開始,用戶端內容可以是本機或遠端。
[in] pRequest
AUTHZ_ACCESS_REQUEST 結構的指標 ,指定所需的存取掩碼、主體自我 安全性標識碼 (SID) ,以及存在的物件類型清單結構。
[in, optional] hAuditEvent
結構,包含物件特定的稽核資訊。 當此參數的值不是 Null 時,會自動要求稽核。 靜態稽核資訊是從資源管理員結構讀取。
從 Windows 8 和 Windows Server 2012 開始,當您搭配遠端內容句柄使用此函式時,參數的值必須是 NULL。
[in] pSecurityDescriptor
要用於存取檢查 之SECURITY_DESCRIPTOR 結構的指標。 從這個安全性描述元挑選對象的擁有者 SID。 此安全性描述元中的 NULL 任意存取控制清單 (DACL) 代表整個物件的 NULL DACL。 請確定安全性描述項包含 OWNER 和 DACL 資訊,否則會產生錯誤碼 87 或「無效的參數」訊息。
[in, optional] OptionalSecurityDescriptorArray
SECURITY_DESCRIPTOR 結構的陣列。 NULL 存取控制清單 會將這些安全性描述元中的 ACL (A) CL 視為空白 ACL。 整個物件的 ACL 是所有 ACL 的邏輯串連。
[in, optional] OptionalSecurityDescriptorCount
不包括主要安全性描述元的安全性描述項數目。
[in, out] pReply
包含存取檢查結果 之AUTHZ_ACCESS_REPLY 結構的指標。 呼叫 AuthzAccessCheck 函式之前,應用程式必須配置 pReply 所參考之AUTHZ_ACCESS_REPLY結構之 GrantedAccessMask 和 SaclEvaluationResults 成員的記憶體。
[out, optional] phAccessCheckResults
指標,可傳回存取檢查快取結果的句柄。 當此參數值不是 Null 時,將會快取此存取檢查呼叫的結果。 這會導致MAXIMUM_ALLOWED檢查。
從 Windows 8 和 Windows Server 2012 開始,當您搭配遠端內容句柄使用此函式時,參數的值必須是 NULL。
傳回值
如果函式成功,函式會傳回 TRUE。
如果函式失敗,則會傳回 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如果 pSecurityDescriptor 參數所指向之SECURITY_DESCRIPTOR結構的 DACL 包含回呼訪問控制專案 (ACE) ,將會呼叫 AuthzAccessCheckCallback 回呼函式。
如果在條件表達式中參考,安全性屬性變數必須存在於用戶端內容中,否則參考這些變數的條件表達式字詞將會評估為未知。 如需詳細資訊,請參閱 條件式 ACE 的安全性描述元定義語言 主題。
如需詳細資訊,請參閱 AccessCheck 的運作方式 和 集中式授權原則 概觀。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | authz.h |
程式庫 | Authz.lib |
Dll | Authz.dll |
可轉散發套件 | Windows XP 上的 Windows Server 2003 系統管理工具套件 |