SeAppendPrivileges function (ntifs.h)

The SeAppendPrivileges routine appends additional privileges to the privilege set in an access state structure.

Syntax

NTSTATUS SeAppendPrivileges(
  [in, out] PACCESS_STATE  AccessState,
  [in]      PPRIVILEGE_SET Privileges
);

Parameters

[in, out] AccessState

Pointer to a caller-allocated ACCESS_STATE structure representing the current access request.

[in] Privileges

Pointer to a caller-allocated PRIVILEGE_SET structure containing the privileges to be added.

Return value

Return code Description
STATUS_SUCCESS
The append operation succeeded.
STATUS_INSUFFICIENT_RESOURCES
SeAppendPrivileges encountered a pool allocation failure when allocating memory for the new privileges.

Remarks

Initially, an access state structure can hold up to three privileges in its privilege set. If more than three privileges need to be stored, SeAppendPrivileges allocates a new privilege set from the paged pool and copies into it both the current privileges and the new privileges.

For more information about security and access control, see Windows security model for driver developers and the documentation on these topics in the Windows SDK.

Requirements

Requirement Value
Target Platform Universal
Header ntifs.h (include Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

See also

ACCESS_STATE

PRIVILEGE_SET

SeAccessCheck

SeFreePrivileges

SePrivilegeCheck

SeSetAccessStateGenericMapping