ACCESS_MASK
Тип данных ACCESS_MASK — это значение DWORD , определяющее стандартные, конкретные и универсальные права. Эти права используются в записях управления доступом (ACE) и являются основным средством указания запрошенного или предоставленного доступа к объекту.
typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;
Комментарии
Биты в этом значении выделяются следующим образом.
Bits | Значение |
---|---|
0 15 |
Определенные права. Содержит маску доступа, относясь к типу объекта, связанному с маской. |
16 23 |
Стандартные права. Содержит стандартные права доступа объекта. |
24 |
Безопасность системы доступа (ACCESS_SYSTEM_SECURITY). Он используется для указания доступа к системным списку управления доступом (SACL). Для этого типа доступа требуется, чтобы вызывающий процесс был иметь привилегии SE_SECURITY_NAME (управление аудитом и журналом безопасности). Если этот флаг установлен в маске доступа для ACE аудита доступа (успешного или неудачного доступа), доступ к saCL будет проверен. |
25 |
Максимально допустимое значение (MAXIMUM_ALLOWED). |
26 27 |
Зарезервировано. |
28 |
Универсальные все (GENERIC_ALL). |
29 |
Универсальное выполнение (GENERIC_EXECUTE). |
30 |
Универсальная запись (GENERIC_WRITE). |
31 |
Универсальное чтение (GENERIC_READ). |
Биты стандартных прав (от 16 до 23) содержат стандартные права доступа объекта и могут быть комбинацией следующих предопределенных флагов.
bit | Flag | Значение |
---|---|---|
16 |
DELETE |
Удаление доступа. |
17 |
READ_CONTROL |
Доступ на чтение к владельцу, группе и списку управления доступом (DACL) дескриптора безопасности. |
18 |
WRITE_DAC |
Доступ на запись к DACL. |
19 |
WRITE_OWNER |
Доступ на запись владельцу. |
20 |
SYNCHRONIZE |
Синхронизация доступа. |
Следующие константы, определенные в Winnt.h, представляют определенные и стандартные права доступа.
#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)
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Заголовок |
|