AddAuditAccessAce 函式 (securitybaseapi.h)

AddAuditAccessAce 函式會將系統稽核訪問控制專案 (ACE) 新增至系統存取控制清單 (ACL) 。 稽核指定 安全性標識碼 (SID) 的存取權。

若要控制子物件是否可以繼承新的 ACE,請使用 AddAuditAccessAceEx 函式。

語法

BOOL AddAuditAccessAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD dwAccessMask,
  [in]      PSID  pSid,
  [in]      BOOL  bAuditSuccess,
  [in]      BOOL  bAuditFailure
);

參數

[in, out] pAcl

ACL 的指標。 此函式會將系統稽核 ACE 新增至此 ACL。 ACE 的格式為 SYSTEM_AUDIT_ACE 結構。

[in] dwAceRevision

指定要修改之 ACL 的修訂層級。

此值可以是ACL_REVISION或ACL_REVISION_DS。 如果 ACL 包含特定物件 ACE,請使用ACL_REVISION_DS。

[in] dwAccessMask

指定要針對所指定 SID 稽核的訪問許可權遮罩。

[in] pSid

SID 的指標,表示正在稽核其存取 權的進程

[in] bAuditSuccess

指定是否要稽核成功的存取嘗試。 將此旗標設定為 TRUE 以啟用稽核;否則,請將它設定為 FALSE

[in] bAuditFailure

指定是否要稽核不成功的存取嘗試。 將此旗標設定為 TRUE 以啟用稽核;否則,請將它設定為 FALSE

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 以下是可能的錯誤值。

傳回碼 Description
ERROR_ALLOTTED_SPACE_EXCEEDED
新的 ACE 不適用於 ACL。 需要較大的 ACL 緩衝區。
ERROR_INVALID_ACL
指定的 ACL 格式不正確。
ERROR_INVALID_SID
指定的 SID 在結構上無效。
ERROR_REVISION_MISMATCH
指定的修訂未知或與 ACL 不相容。
ERROR_SUCCESS
已成功新增 ACE。

備註

AddAuditAccessAce 函式放置於 ACE 中的ACE_HEADER結構會指定類型和大小,但不提供 ACE 旗標。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 securitybaseapi.h (包括 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

ACE_HEADER

AddAccessAllowedAce

AddAccessDeniedAce

AddAce

AddAuditAccessAceEx

DeleteAce

GetAce

低階 存取控制

低階 存取控制 函式

SYSTEM_AUDIT_ACE