winnt.h) (ACE_HEADER 结构

ACE_HEADER 结构定义访问控制的类型和大小 (ACE) 。

语法

typedef struct _ACE_HEADER {
  BYTE AceType;
  BYTE AceFlags;
  WORD AceSize;
} ACE_HEADER;

成员

AceType

指定 ACE 类型。 此成员可以是以下值之一。

含义
ACCESS_ALLOWED_ACE_TYPE
使用 ACCESS_ALLOWED_ACE 结构的允许访问 ACE。
ACCESS_ALLOWED_CALLBACK_ACE_TYPE
使用 ACCESS_ALLOWED_CALLBACK_ACE 结构的允许访问的回调 ACE。
ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE
使用 ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 结构的特定于对象的允许访问的回调 ACE。
ACCESS_ALLOWED_COMPOUND_ACE_TYPE
保留。
ACCESS_ALLOWED_OBJECT_ACE_TYPE
使用 ACCESS_ALLOWED_OBJECT_ACE 结构的特定于对象的允许访问的 ACE。
ACCESS_DENIED_ACE_TYPE
使用 ACCESS_DENIED_ACE 结构的拒绝访问 ACE。
ACCESS_DENIED_CALLBACK_ACE_TYPE
使用 ACCESS_DENIED_CALLBACK_ACE 结构的拒绝访问回调 ACE。
ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE
使用 ACCESS_DENIED_CALLBACK_OBJECT_ACE 结构的特定于对象的拒绝访问回调 ACE。
ACCESS_DENIED_OBJECT_ACE_TYPE
使用 ACCESS_DENIED_OBJECT_ACE 结构的特定于对象的拒绝访问 ACE。
ACCESS_MAX_MS_ACE_TYPE
与 SYSTEM_ALARM_OBJECT_ACE_TYPE 相同。
ACCESS_MAX_MS_V2_ACE_TYPE
与 SYSTEM_ALARM_ACE_TYPE 相同。
ACCESS_MAX_MS_V3_ACE_TYPE
保留。
ACCESS_MAX_MS_V4_ACE_TYPE
与 SYSTEM_ALARM_OBJECT_ACE_TYPE 相同。
ACCESS_MAX_MS_OBJECT_ACE_TYPE
与 SYSTEM_ALARM_OBJECT_ACE_TYPE 相同。
ACCESS_MIN_MS_ACE_TYPE
与 ACCESS_ALLOWED_ACE_TYPE 相同。
ACCESS_MIN_MS_OBJECT_ACE_TYPE
与 ACCESS_ALLOWED_OBJECT_ACE_TYPE 相同。
SYSTEM_ALARM_ACE_TYPE
保留供将来使用。 使用 SYSTEM_ALARM_ACE 结构的系统警报 ACE。
SYSTEM_ALARM_CALLBACK_ACE_TYPE
保留供将来使用。 使用 SYSTEM_ALARM_CALLBACK_ACE 结构的系统警报回调 ACE。
SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE
保留供将来使用。 使用 SYSTEM_ALARM_CALLBACK_OBJECT_ACE 结构的特定于对象的系统警报回调 ACE。
SYSTEM_ALARM_OBJECT_ACE_TYPE
保留供将来使用。 使用 SYSTEM_ALARM_OBJECT_ACE 结构的特定于对象的系统警报 ACE。
SYSTEM_AUDIT_ACE_TYPE
使用 SYSTEM_AUDIT_ACE 结构的系统审核 ACE。
SYSTEM_AUDIT_CALLBACK_ACE_TYPE
使用 SYSTEM_AUDIT_CALLBACK_ACE 结构的系统审核回调 ACE。
SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE
使用 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 结构的特定于对象的系统审核回调 ACE。
SYSTEM_AUDIT_OBJECT_ACE_TYPE
使用 SYSTEM_AUDIT_OBJECT_ACE 结构的特定于对象的系统审核 ACE。
SYSTEM_MANDATORY_LABEL_ACE_TYPE
0x11
使用 SYSTEM_MANDATORY_LABEL_ACE 结构的必需标签 ACE。

AceFlags

指定一组特定于 ACE 类型的控件标志。 此成员可以是以下值的组合。

含义
CONTAINER_INHERIT_ACE
作为容器的子对象(如目录)将 ACE 继承为有效的 ACE。 除非还设置了NO_PROPAGATE_INHERIT_ACE位标志,否则继承的 ACE 是可继承的。
FAILED_ACCESS_ACE_FLAG
系统访问控制列表中的系统 审核 ACE 一起使用, (SACL) ,以针对失败的访问尝试生成审核消息。
INHERIT_ONLY_ACE
指示仅继承的 ACE,它不控制对其所附加到对象的访问。 如果未设置此标志,则 ACE 是一个有效的 ACE,用于控制对其所附加到对象的访问。

有效 ACE 和仅继承 ACE 都可以继承,具体取决于其他继承标志的状态。

INHERITED_ACE
指示 ACE 已继承。 系统在将继承的 ACE 传播到子对象时设置此位。
NO_PROPAGATE_INHERIT_ACE
如果 ACE 由子对象继承,则系统会清除OBJECT_INHERIT_ACE,并在继承的 ACE 中CONTAINER_INHERIT_ACE标志。 这可以防止 ACE 被后续几代对象继承。
OBJECT_INHERIT_ACE
非容器子对象将 ACE 继承为有效的 ACE。

对于作为容器的子对象,除非还设置了NO_PROPAGATE_INHERIT_ACE位标志,否则 ACE 将继承为仅继承 ACE。

SUCCESSFUL_ACCESS_ACE_FLAG
与 SACL 中的系统审核 ACE 一起使用,以生成成功访问尝试的审核消息。

AceSize

指定 ACE 的大小(以字节为单位)。

备注

ACE_HEADER 结构是各种类型的 ACE 结构(如 ACCESS_ALLOWED_ACE)的第一个成员。

目前不支持系统警报 ACE。 AceType 成员无法指定SYSTEM_ALARM_ACE_TYPE或SYSTEM_ALARM_OBJECT_ACE_TYPE值。 请勿使用 SYSTEM_ALARM_ACESYSTEM_ALARM_OBJECT_ACE 结构。

要求

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

另请参阅

ACCESS_ALLOWED_ACE

ACCESS_ALLOWED_OBJECT_ACE

ACCESS_DENIED_ACE

ACCESS_DENIED_OBJECT_ACE

Acl

SYSTEM_AUDIT_ACE

SYSTEM_AUDIT_OBJECT_ACE