Función PrivilegeCheck (securitybaseapi.h)

La función PrivilegeCheck determina si un conjunto especificado de privilegios está habilitado en un token de acceso. Normalmente, una aplicación de servidor llama a la función PrivilegeCheck para comprobar los privilegios del token de acceso de un cliente.

Sintaxis

BOOL PrivilegeCheck(
  [in]      HANDLE         ClientToken,
  [in, out] PPRIVILEGE_SET RequiredPrivileges,
  [out]     LPBOOL         pfResult
);

Parámetros

[in] ClientToken

Identificador de un token de acceso que representa un proceso de cliente. Este identificador debe haberse obtenido abriendo el token de un subproceso suplantando al cliente. El token debe estar abierto para TOKEN_QUERY acceso.

[in, out] RequiredPrivileges

Puntero a una estructura PRIVILEGE_SET . El miembro Privilege de esta estructura es una matriz de estructuras de LUID_AND_ATTRIBUTES . Antes de llamar a PrivilegeCheck, use la matriz Privilege para indicar el conjunto de privilegios que se va a comprobar. Establezca el miembro Control en PRIVILEGE_SET_ALL_NECESSARY si se deben habilitar todos los privilegios; o establézcalo en cero si es suficiente que se habilite cualquiera de los privilegios.

Cuando Se devuelve PrivilegeCheck , el miembro Attributes de cada estructura de LUID_AND_ATTRIBUTES se establece en SE_PRIVILEGE_USED_FOR_ACCESS si el privilegio correspondiente está habilitado.

[out] pfResult

Puntero a un valor que establece la función para indicar si alguno o todos los privilegios especificados están habilitados en el token de acceso. Si el miembro Control de la estructura PRIVILEGE_SET especifica PRIVILEGE_SET_ALL_NECESSARY, este valor es TRUE solo si todos los privilegios están habilitados; de lo contrario, este valor es TRUE si alguno de los privilegios está habilitado.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Un token de acceso contiene una lista de los privilegios mantenidos por la cuenta asociada al token. Estos privilegios se pueden habilitar o deshabilitar; la mayoría están deshabilitadas de forma predeterminada. La función PrivilegeCheck solo comprueba si hay privilegios habilitados. Para obtener una lista de todos los privilegios habilitados y deshabilitados mantenidos por un token de acceso, llame a la función GetTokenInformation . Para habilitar o deshabilitar un conjunto de privilegios en un token de acceso, llame a la función AdjustTokenPrivileges .

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado securitybaseapi.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

AdjustTokenPrivileges

Funciones de Access Control cliente/servidor

Introducción a la Access Control de cliente/servidor

GetTokenInformation

LUID_AND_ATTRIBUTES

LookupPrivilegeValue

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegedServiceAuditAlarm