Указание прав доступа

Тип 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