指定访问权限

ACCESS_MASK类型是一个位掩码,用于在访问控制项的访问掩码中指定一组访问权限。

typedef ULONG  ACCESS_MASK;

以下标准特定访问权限适用于所有类型的执行对象。

标志 说明

DELETE

调用方可以删除对象。

READ_CONTROL

调用方可以读取文件的访问控制列表 (ACL) 和所有权信息。

SYNCHRONIZE

调用方可以对对象执行等待操作。 (例如,可以将对象传递到 KeWaitForMultipleObjects。)

WRITE_DAC

调用方可以更改对象的自定义访问控制列表 (DACL) 信息。

WRITE_OWNER

调用方可以更改文件的所有权信息。

请注意,通常只有 DELETE 和 SYNCHRONIZE 受驱动程序编写者关注。

还可以指定以下通用访问权限。 它们也适用于所有类型的执行对象。 每个通用访问权限的含义特定于该类型的对象。

标志 描述

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