ACCESS_MASK

ACCESS_MASK数据类型是定义标准权限、特定权限和泛型权限的 DWORD 值。 这些权限用于 访问控制条目 (ACE) ,是指定请求或授予对对象的访问权限的主要方式。

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

备注

此值中的位分配方式如下。

Bits 含义
0 15
特定权限。 包含特定于与掩码关联的对象类型的访问掩码。
16 23
标准权限。 包含对象的标准访问权限。
24
访问系统安全 (ACCESS_SYSTEM_SECURITY) 。 它用于指示对 SACL) (系统访问控制列表 的访问。 这种类型的访问要求调用进程具有 SE_SECURITY_NAME (管理审核和安全日志) 权限。 如果在审核访问 ACE 的访问掩码中设置了此标志, (成功或不成功的访问) ,则将审核 SACL 访问。
25
允许的最大 (MAXIMUM_ALLOWED)
26 27
保留。
28
泛型所有 (GENERIC_ALL) 。
29
泛型执行 (GENERIC_EXECUTE) 。
30
泛型写入 (GENERIC_WRITE) 。
31
泛型读取 (GENERIC_READ) 。

标准权限位(16 到 23)包含对象的标准访问权限,可以是以下预定义标志的组合。

bit 标志 含义
16
DELETE
删除访问权限。
17
READ_CONTROL
读取对安全描述符的所有者、组和 任意访问控制列表 (DACL) 的访问权限。
18
WRITE_DAC
对 DACL 的写入访问权限。
19
WRITE_OWNER
对所有者的写入访问权限。
20
同步
同步访问。

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)

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
Winnt.h (包括 Windows.h)

另请参阅

访问控制

基本访问控制结构

访问权限和访问掩码

GENERIC_MAPPING