Função ImpersonateSelf (securitybaseapi.h)

A função ImpersonateSelf obtém um token de acesso que representa o contexto de segurança do processo de chamada. O token é atribuído ao thread de chamada.

Sintaxe

BOOL ImpersonateSelf(
  [in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
);

Parâmetros

[in] ImpersonationLevel

Especifica um tipo enumerado SECURITY_IMPERSONATION_LEVEL que fornece o nível de representação do novo token.

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

A função ImpersonateSelf é usada para tarefas como habilitar um privilégio para um único thread em vez de para todo o processo ou para alterar a DACL ( lista de controle de acesso discricionário ) padrão para um único thread.

O servidor pode chamar a função RevertToSelf quando a representação for concluída.

Para que essa função tenha êxito, a DACL que protege o token de processo deve conceder ao TOKEN_DUPLICATE direito a si mesmo.

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

Visão geral do cliente/servidor Controle de Acesso

DuplicateToken

ImpersonateNamedPipeClient

Reverttoself

SECURITY_IMPERSONATION_LEVEL