Função ImpersonateAnonymousToken (securitybaseapi.h)

A função ImpersonateAnonymousToken permite que o thread especificado represente o token de logon anônimo do sistema. Para garantir que um token corresponda ao conceito de acesso anônimo do sistema operacional, essa função deve ser chamada antes de tentar o acesso à rede para gerar um token anônimo no servidor remoto.

Sintaxe

BOOL ImpersonateAnonymousToken(
  [in] HANDLE ThreadHandle
);

Parâmetros

[in] ThreadHandle

Um identificador para o thread para representar o token de logon anônimo do sistema. O identificador de thread deve ter o acesso THREAD_IMPERSONATE direito para que o thread represente o token de logon anônimo do sistema.

Para conceder esse acesso, o thread deve ser aberto chamando OpenThread com o direito de acesso desejado para THREAD_IMPERSONATE.

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.

Um erro de ACCESS_DENIED pode indicar que o token é para um processo restrito. Use OpenProcessToken e IsTokenRestricted para marcar se o processo for restrito. ACCESS_DENIED também será retornado se o identificador de thread não tiver acesso certo a THREAD_IMPERSONATE.

Comentários

Os tokens anônimos não incluem o SID do Grupo "Todos", a menos que o padrão do sistema tenha sido substituído definindo o valor do registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\EveryoneIncludesAnonymous como DWORD=1.

Para cancelar a representação, chame RevertToSelf.

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