The PRIVILEGE_SET structure specifies a set of privileges. It is also used to indicate which, if any, privileges are held by a user or group requesting access to an object.
typedef struct _PRIVILEGE_SET { // ps
DWORD PrivilegeCount;
DWORD Control;
LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];
} PRIVILEGE_SET;
Attribute | Description |
---|---|
SE_PRIVILEGE_ENABLED_BY_DEFAULT | |
The privilege is enabled by default. | |
SE_PRIVILEGE_ENABLED | |
The privilege is enabled. | |
SE_PRIVILEGE_USED_FOR_ACCESS | |
The privilege was used to gain access to an object or service. This flag is used to identify the relevant privileges in a set passed by a client application that may contain unnecessary privileges. |
A privilege is used to control access to an object or service more strictly than is typical with discretionary access control. A system manager uses privileges to control which users are able to manipulate system resources. An application uses privileges when it changes a system-wide resource, such as when it changes the system time or shuts down the system.
Windows NT: Requires version 3.1 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in winnt.h.
Client/Server Access Control Overview, Client/Server Access Control Structures, PrivilegeCheck, LUID, LUID_AND_ATTRIBUTES