PRIVILEGE_SET 结构指定一组安全特权。 它还用于指示请求访问对象的用户或组持有哪些权限(如果有)。
语法
typedef struct _PRIVILEGE_SET {
ULONG PrivilegeCount;
ULONG Control;
LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];
} PRIVILEGE_SET, *PPRIVILEGE_SET;
成员
PrivilegeCount
特权集中的权限数。
Control
指定与特权相关的控件标志。 当前定义了PRIVILEGE_SET_ALL_NECESSARY控件标志。 它指示请求访问的进程必须保留所有指定的特权。 如果未设置此标志,则用户访问令牌中存在任何特权授予访问权限。
Privilege[ANYSIZE_ARRAY]
指定描述集特权的 LUID_AND_ATTRIBUTES 结构的数组。 为特权定义了以下属性。
| 价值 | 意义 |
|---|---|
| SE_PRIVILEGE_ENABLED_BY_DEFAULT | 默认情况下,特权处于启用状态。 |
| SE_PRIVILEGE_ENABLED | 启用特权。 |
| SE_PRIVILEGE_USED_FOR_ACCESS | 特权用于获取对对象或服务的访问权限。 此标志用于标识客户端应用程序传递的集中可能包含不必要的特权的相关特权。 |
言论
特权用于更严格地控制对对象或服务的访问,而不是使用自由访问控制的典型方式。 系统管理器使用特权来控制哪些用户能够作系统资源。 应用程序在更改系统范围资源时使用特权,例如当它更改系统时间或关闭系统时。
要求
| 要求 | 价值 |
|---|---|
| 标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |