ACE Structure
The ACE structure (Access Control Entry) defines an entry in an access control list (ACL). An ACL is a list of ACEs that specifies the access rights for an object.
Definition
This structure is defined in the winnt.h header file:
typedef struct _ACE {
USHORT AceType;
USHORT AceFlags;
USHORT AceSize;
ACCESS_MASK AccessMask;
union {
struct {
SID_IDENTIFIER_AUTHORITY SidIdentifierAuthority;
ULONG SubAuthorityCount;
ULONG SubAuthorities[ANYSIZE_ARRAY];
} ObjectType;
struct {
SID_IDENTIFIER_AUTHORITY SidIdentifierAuthority;
ULONG SubAuthorityCount;
ULONG SubAuthorities[ANYSIZE_ARRAY];
} InheritedObjectType;
struct {
SID_IDENTIFIER_AUTHORITY SidIdentifierAuthority;
ULONG SubAuthorityCount;
ULONG SubAuthorities[ANYSIZE_ARRAY];
} /* unnamed */ ;
} AccessInformation;
} ACE;
Members
| Member | Type | Description |
|---|---|---|
AceType |
USHORT |
Specifies the type of the ACE. Common values include ACCESS_ALLOWED_ACE_TYPE, ACCESS_DENIED_ACE_TYPE, and SYSTEM_AUDIT_ACE_TYPE. |
AceFlags |
USHORT |
A set of flags that control inheritance and other aspects of the ACE. For example, INHERITED_ACE_FLAG indicates that the ACE is inherited. |
AceSize |
USHORT |
The size of the ACE structure in bytes. |
AccessMask |
ACCESS_MASK |
A bitmask that specifies the access rights granted or denied by this ACE. This is a ULONG type. |
AccessInformation |
union |
This union contains information specific to the type of ACE.
|