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

AdjustTokenPrivileges

Funções de Controle de Acesso de cliente/servidor

Visão geral do cliente/servidor Controle de Acesso

GetTokenInformation

LUID_AND_ATTRIBUTES

LookupPrivilegeValue

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegedServiceAuditAlarm