ACCESS_MASK数据类型是定义标准、特定和泛型权限的 DWORD 值。 这些权限用于 访问控制条目 (ACE),是指定对对象的请求或授予访问权限的主要方法。
typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;
注解
此值中的位分配如下:
| 比特 | Meaning |
|---|---|
| 0-15 | 特定权限。 包含特定于与掩码关联的对象类型的访问掩码。 有关不同对象类型的访问权限的链接,请参阅 Object-Specific 访问权限。 |
| 16-23 | 标准权限。 包含对象的标准访问权限。 |
| 24 | 访问系统安全性(ACCESS_SYSTEM_SECURITY)。 它用于指示对 系统访问控制列表 (SACL)的访问。 这种类型的访问需要调用过程具有 SE_SECURITY_NAME (管理审核和安全日志)权限。 如果在审核访问 ACE 的访问掩码中设置了此标志(成功或失败的访问),将审核 SACL 访问。 |
| 二十五 | 允许的最大(MAXIMUM_ALLOWED)。 |
| 26-27 | 预留。 |
| 28 | 全部通用(GENERIC_ALL)。 |
| 二十九 | 泛型执行(GENERIC_EXECUTE)。 |
| 30 | 泛型写入(GENERIC_WRITE)。 |
| 31 | 泛型读取(GENERIC_READ)。 |
标准权限位(16 到 23)包含对象的标准访问权限,可以是以下预定义标志的组合:
| Bit | Flag | Meaning |
|---|---|---|
| 16 | 删除 | 删除访问权限。 |
| 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)
Object-Specific 访问权限
ACCESS_MASK的低 16 位(位 0-15)用于特定于对象的访问权限。 这些位的含义取决于要访问的对象的类型。 有关特定对象类型的访问权限的详细信息,请参阅以下主题:
常见对象类型
-
文件和目录 - 文件访问权限常量
定义特定的访问权限,例如FILE_READ_DATA、FILE_WRITE_DATA、FILE_APPEND_DATA、FILE_EXECUTE、FILE_DELETE_CHILD、FILE_READ_ATTRIBUTES和FILE_WRITE_ATTRIBUTES。 - 注册表项 - 注册表项安全和访问权限 定义特定的访问权限,例如KEY_QUERY_VALUE、KEY_SET_VALUE、KEY_CREATE_SUB_KEY、KEY_ENUMERATE_SUB_KEYS和KEY_NOTIFY。
-
过程 - 处理安全和访问权限
定义特定的访问权限,例如PROCESS_TERMINATE、PROCESS_CREATE_THREAD、PROCESS_VM_OPERATION、PROCESS_VM_READ、PROCESS_VM_WRITE、PROCESS_QUERY_INFORMATION和PROCESS_SET_INFORMATION。 -
线程 - 线程安全性和访问权限
定义特定的访问权限,例如THREAD_TERMINATE、THREAD_SUSPEND_RESUME、THREAD_GET_CONTEXT、THREAD_SET_CONTEXT、THREAD_QUERY_INFORMATION和THREAD_SET_INFORMATION。
其他对象类型
- 窗口工作站 - 窗口工作站安全和访问权限
- 桌面 - 桌面安全性和访问权限
- 服务业 - 服务安全性和访问权限
- 文件映射对象 - 文件映射安全和访问权限
- 作业对象 - 作业对象安全和访问权限
- 命名管道 - 命名管道安全性和访问权限
有关安全对象及其访问权限的综合列表,请参阅 “访问权限和访问掩码”。
要求
| Requirement | 价值 |
|---|---|
| 支持的最低客户端 | Windows XP [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
| Header |
Winnt.h (包括 Windows.h) |