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
Funciones de Access Control cliente/servidor