指定访问权限
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