Указание прав доступа
Тип ACCESS_MASK — это битовая маска, указывающая набор прав доступа в маске доступазаписи управления доступом.
typedef ULONG ACCESS_MASK;
Следующие стандартные права доступа применяются ко всем типам исполнительных объектов.
Flag | Описание |
---|---|
DELETE |
Вызывающий объект может удалить объект . |
READ_CONTROL |
Вызывающий объект может считывать список управления доступом (ACL) и сведения о владельце файла. |
SYNCHRONIZE |
Вызывающий объект может выполнить операцию ожидания с объектом . (Например, объект можно передать в KeWaitForMultipleObjects.) |
WRITE_DAC |
Вызывающий объект может изменить сведения о списке управления доступом (DACL) для объекта . |
WRITE_OWNER |
Вызывающий объект может изменить сведения о владельцах файла. |
Обратите внимание, что обычно только DELETE и SYNCHRONIZE представляют интерес для модулей записи драйверов.
Вы также можете указать следующие универсальные права доступа. Они также применяются ко всем типам исполнительных объектов. Значение каждого универсального права доступа зависит от этого типа объекта.
Flag | Описание |
---|---|
GENERIC_READ |
Вызывающий объект может выполнять обычные операции чтения с объектом . |
GENERIC_WRITE |
Вызывающий объект может выполнять обычные операции записи в объекте . |
GENERIC_EXECUTE |
Вызывающий объект может выполнить объект . (Обратите внимание, что это обычно имеет смысл только для определенных типов объектов, таких как объекты файлов и объекты разделов.) |
GENERIC_ALL |
Вызывающий объект может выполнять все обычные операции с объектом . |
Также определены следующие сочетания стандартных прав доступа. Обычно они не используются напрямую, но используются в качестве шаблонов для определения других битов. (Например, при указании GENERIC_READ для файлового объекта система сопоставляет это с FILE_GENERIC_READ битовой маской определенных прав доступа. FILE_GENERIC_READ определяется с точки зрения STANDARD_RIGHTS_READ.)
Битовой маски | Описание |
---|---|
STANDARD_RIGHTS_READ |
Стандартные особые права, соответствующие GENERIC_READ |
STANDARD_RIGHTS_WRITE |
Стандартные особые права, соответствующие GENERIC_WRITE |
STANDARD_RIGHTS_EXECUTE |
Стандартные особые права, соответствующие GENERIC_EXECUTE |
STANDARD_RIGHTS_REQUIRED |
Стандартные особые права, соответствующие GENERIC_ALL. Сюда входит delete, но не SYNCHRONIZE. |
STANDARD_RIGHTS_ALL |
Все стандартные права доступа. |
Каждый тип объекта может иметь собственные дополнительные права доступа. Описание прав доступа, применимых к файлу, каталогу или устройству, см. в разделе ZwCreateFile. Описание прав доступа, применимых к каталогу диспетчера объектов, см. в разделе ZwCreateDirectoryObject. Описание прав доступа, применимых к разделу реестра, см. в разделе ZwCreateKey. Описание прав доступа, применимых к объекту раздела, см. в разделе ZwOpenSection. Описание прав доступа, применимых к блоку данных WMI, см. в разделе IoWMIOpenBlock.
Дополнительные сведения о правах доступа см. в следующих разделах документации по Microsoft Windows SDK:
Wdm.h (включая Wdm.h, Ntddk.h или Ntifs.h)
Связанные темы
IoWMIOpenBlock
ZwCreateDirectoryObject
ZwCreateFile
ZwCreateKey
ZwOpenSection