ACCESS_ALLOWED_ACE 结构 (winnt.h)

ACCESS_ALLOWED_ACE结构为控制对对象的访问任意访问控制列表 (DACL) 定义访问控制项 (ACE) 。 允许访问的 ACE 允许访问由安全标识符 (SID) 标识的特定受托人的对象。

语法

typedef struct _ACCESS_ALLOWED_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       SidStart;
} ACCESS_ALLOWED_ACE;

成员

Header

ACE_HEADER 结构,用于指定 ACE 的大小和类型。 它还包含控制子对象继承 ACE 的标志。 ACE_HEADER 结构的 AceType 成员应设置为 ACCESS_ALLOWED_ACE_TYPE,AceSize 成员应设置为为ACCESS_ALLOWED_ACE结构分配的字节总数。

Mask

指定 ACCESS_MASK 结构,该结构指定此 ACE 授予的访问权限。

SidStart

受托人的 SID 的第一个 DWORD 。 SID 的剩余字节存储在 SidStart 成员之后的连续内存中。 此 SID 可以追加应用程序数据。

注解

ACE 结构必须在 DWORD 边界上对齐。 所有 Windows 内存管理功能将 DWORD 对齐的句柄返回到内存。

Mask 成员指定的访问权限将授予具有与 SidStart 成员中存储的 SID 匹配的已启用 SID 的任何受托人

可以通过调用 AddAccessAllowedAce 或 AddAccessAllowedAceEx 函数,在访问控制列表中 (ACL) 创建ACCESS_ALLOWED_ACE结构。 使用这些函数时,会分配容纳受托人的 SID 所需的正确内存量,并自动设置 Header.AceTypeHeader.AceSize 成员的值。 如果使用 AddAccessAllowedAceEx 函数,则还会设置 Header.AceFlags 成员。 在 ACL 外部创建 ACCESS_ALLOWED_ACE 结构时,必须分配足够的内存,以适应 SidStart 成员中受托人的完整 SID 以及它后面的连续内存,并且 Header.AceTypeHeader.AceFlagsHeader.AceSize 成员的值必须由应用程序显式设置。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 winnt.h (包括 Windows.h)

另请参阅

Ace

ACL

AddAccessAllowedAce

AddAce

GetAce

SID