typedef struct _PRIVILEGE_SET { /* ps */
DWORD PrivilegeCount;
DWORD Control;
LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];
} PRIVILEGE_SET;
The PRIVILEGE_SET data structure specifies a set of privileges.
Routines that expose objects need to enforce security assigned to those objects. Sometimes this involves specifying a set of privileges necessary to perform an operation. This is also the case for privileged system services, like setting the system time.
The PRIVILEGE_SET data structure also receives an indication of which, if any, privileges are actually held by the requestor.
PrivilegeCount
Specifies the number of privileges in the privilege set.
Control
A set of control flags related to the privileges.
The following control flags are currently defined:
Control Flag | Meaning |
PRIVILEGE_SET_ALL_NECESSARY | When set, indicates that all of the specified privileges must be held by the requestor to be granted access. If this flag is not set, then any of the privileges will grant the access. |
Privileges[]
An array of LUID_AND_ATTRIBUTES data structures that describe the set's privileges.
LUID, LUID_AND_ATTRIBUTES