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.AceType 和 Header.AceSize 成员的值。 如果使用 AddAccessAllowedAceEx 函数,则还会设置 Header.AceFlags 成员。 在 ACL 外部创建 ACCESS_ALLOWED_ACE 结构时,必须分配足够的内存,以适应 SidStart 成员中受托人的完整 SID 以及它后面的连续内存,并且 Header.AceType、 Header.AceFlags 和 Header.AceSize 成员的值必须由应用程序显式设置。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winnt.h (包括 Windows.h) |