Função PrivilegeCheck (securitybaseapi.h)
A função PrivilegeCheck determina se um conjunto especificado de privilégios está habilitado em um token de acesso. A função PrivilegeCheck normalmente é chamada por um aplicativo de servidor para marcar os privilégios do token de acesso de um cliente.
Sintaxe
BOOL PrivilegeCheck(
[in] HANDLE ClientToken,
[in, out] PPRIVILEGE_SET RequiredPrivileges,
[out] LPBOOL pfResult
);
Parâmetros
[in] ClientToken
Um identificador para um token de acesso que representa um processo de cliente. Esse identificador deve ter sido obtido abrindo o token de um thread representando o cliente. O token deve estar aberto para acesso TOKEN_QUERY.
[in, out] RequiredPrivileges
Um ponteiro para uma estrutura PRIVILEGE_SET . O membro Privilege dessa estrutura é uma matriz de estruturas de LUID_AND_ATTRIBUTES . Antes de chamar PrivilegeCheck, use a matriz Privilege para indicar o conjunto de privilégios para marcar. Defina o membro Control como PRIVILEGE_SET_ALL_NECESSARY se todos os privilégios precisarem ser habilitados; ou defina-o como zero se for suficiente que qualquer um dos privilégios seja habilitado.
Quando PrivilegeCheck retorna, o membro Atributos de cada estrutura LUID_AND_ATTRIBUTES é definido como SE_PRIVILEGE_USED_FOR_ACCESS se o privilégio correspondente estiver habilitado.
[out] pfResult
Um ponteiro para um valor que a função define para indicar se algum ou todos os privilégios especificados estão habilitados no token de acesso. Se o membro Control da estrutura PRIVILEGE_SET especificar PRIVILEGE_SET_ALL_NECESSARY, esse valor será TRUE somente se todos os privilégios estiverem habilitados; caso contrário, esse valor será TRUE se qualquer um dos privilégios estiver habilitado.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Um token de acesso contém uma lista dos privilégios mantidos pela conta associada ao token. Esses privilégios podem ser habilitados ou desabilitados; a maioria está desabilitada por padrão. A função PrivilegeCheck verifica apenas os privilégios habilitados. Para obter uma lista de todos os privilégios habilitados e desabilitados mantidos por um token de acesso, chame a função GetTokenInformation . Para habilitar ou desabilitar um conjunto de privilégios em um token de acesso, chame a função AdjustTokenPrivileges .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | securitybaseapi.h (inclua Windows.h) |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |
Confira também
Funções de Controle de Acesso de cliente/servidor