ACCESS_MASK
The ACCESS_MASK data type is a DWORD value that defines standard, specific, and generic rights. These rights are used in access control entries (ACEs) and are the primary means of specifying the requested or granted access to an object.
typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;
Remarks
The bits in this value are allocated as follows.
Bits | Meaning |
---|---|
0 15 |
Specific rights. Contains the access mask specific to the object type associated with the mask. |
16 23 |
Standard rights. Contains the object's standard access rights. |
24 |
Access system security (ACCESS_SYSTEM_SECURITY). It is used to indicate access to a system access control list (SACL). This type of access requires the calling process to have the SE_SECURITY_NAME (Manage auditing and security log) privilege. If this flag is set in the access mask of an audit access ACE (successful or unsuccessful access), the SACL access will be audited. |
25 |
Maximum allowed (MAXIMUM_ALLOWED). |
26 27 |
Reserved. |
28 |
Generic all (GENERIC_ALL). |
29 |
Generic execute (GENERIC_EXECUTE). |
30 |
Generic write (GENERIC_WRITE). |
31 |
Generic read (GENERIC_READ). |
Standard rights bits, 16 to 23, contain the object's standard access rights and can be a combination of the following predefined flags.
Bit | Flag | Meaning |
---|---|---|
16 |
DELETE |
Delete access. |
17 |
READ_CONTROL |
Read access to the owner, group, and discretionary access control list (DACL) of the security descriptor. |
18 |
WRITE_DAC |
Write access to the DACL. |
19 |
WRITE_OWNER |
Write access to owner. |
20 |
SYNCHRONIZE |
Synchronize access. |
The following constants defined in Winnt.h represent the specific and standard access rights.
#define DELETE (0x00010000L)
#define READ_CONTROL (0x00020000L)
#define WRITE_DAC (0x00040000L)
#define WRITE_OWNER (0x00080000L)
#define SYNCHRONIZE (0x00100000L)
#define STANDARD_RIGHTS_REQUIRED (0x000F0000L)
#define STANDARD_RIGHTS_READ (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL)
#define STANDARD_RIGHTS_ALL (0x001F0000L)
#define SPECIFIC_RIGHTS_ALL (0x0000FFFFL)
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows XP [desktop apps only] |
Minimum supported server |
Windows Server 2003 [desktop apps only] |
Header |
|