Função OpenThreadToken (processthreadsapi.h)

A função OpenThreadToken abre o token de acesso associado a um thread.

Sintaxe

BOOL OpenThreadToken(
  [in]  HANDLE  ThreadHandle,
  [in]  DWORD   DesiredAccess,
  [in]  BOOL    OpenAsSelf,
  [out] PHANDLE TokenHandle
);

Parâmetros

[in] ThreadHandle

Um identificador para o thread cujo token de acesso é aberto.

[in] DesiredAccess

Especifica uma máscara de acesso que especifica os tipos solicitados de acesso ao token de acesso. Esses tipos de acesso solicitados são reconciliados com a DACL ( lista de controle de acesso discricionário ) do token para determinar quais acessos são concedidos ou negados.

Para obter uma lista de direitos de acesso para tokens de acesso, consulte Direitos de Acesso para objetos Access-Token.

[in] OpenAsSelf

TRUE se a marcar de acesso for feita no contexto de segurança em nível de processo.

FALSE se o marcar de acesso for feito no contexto de segurança atual do thread que chama a função OpenThreadToken.

O parâmetro OpenAsSelf permite que o chamador dessa função abra o token de acesso de um thread especificado quando o chamador estiver representando um token no nível de SecurityIdentification . Sem esse parâmetro, o thread de chamada não pode abrir o token de acesso no thread especificado porque é impossível abrir objetos de nível executivo usando o nível de representação SecurityIdentification .

[out] TokenHandle

Um ponteiro para uma variável que recebe o identificador para o token de acesso recém-aberto.

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. Se o token tiver o nível de representação anônimo, o token não será aberto e OpenThreadToken definirá ERROR_CANT_OPEN_ANONYMOUS como o erro.

Comentários

Tokens com o nível de representação anônimo não podem ser abertos.

Feche o identificador de token de acesso retornado por meio do parâmetro TokenHandle chamando CloseHandle.

Requisitos

   
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho processthreadsapi.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Visão geral do Controle de Acesso

AccessCheck

AdjustTokenGroups

AdjustTokenPrivileges

Funções de Controle de Acesso básicas

CloseHandle

GetCurrentThreadToken

GetTokenInformation

OpenProcessToken

SECURITY_IMPERSONATION_LEVEL

Setthreadtoken

SetTokenInformation