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。 下面是可能的错误值。

返回代码 说明
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)
Library Advapi32.lib
DLL Advapi32.dll

另请参阅

ACE_HEADER

AddAccessAllowedAce

AddAccessDeniedAce

AddAce

AddAuditAccessAceEx

DeleteAce

GetAce

低级别访问控制

低级别访问控制函数

SYSTEM_AUDIT_ACE