Função DuplicateToken (securitybaseapi.h)
A função DuplicateToken cria um novo token de acesso que duplica um já existente.
Sintaxe
BOOL DuplicateToken(
[in] HANDLE ExistingTokenHandle,
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
[out] PHANDLE DuplicateTokenHandle
);
Parâmetros
[in] ExistingTokenHandle
Um identificador para um token de acesso aberto com acesso TOKEN_DUPLICATE.
[in] ImpersonationLevel
Especifica um tipo enumerado SECURITY_IMPERSONATION_LEVEL que fornece o nível de representação do novo token.
[out] DuplicateTokenHandle
Um ponteiro para uma variável que recebe um identificador para o token duplicado. Esse identificador tem acesso TOKEN_IMPERSONATE e TOKEN_QUERY ao novo token.
Quando terminar de usar o novo token, chame a função CloseHandle para fechar o identificador de 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 DuplicateToken cria um token de representação, que você pode usar em funções como SetThreadToken e ImpersonateLoggedOnUser. O token criado por DuplicateToken não pode ser usado na função CreateProcessAsUser , que requer um token primário. Para criar um token que você pode passar para CreateProcessAsUser, use a função DuplicateTokenEx .
Requisitos
Requisito | Valor |
---|---|
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 | securitybaseapi.h (inclua Windows.h) |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |
Confira também
Visão geral do Controle de Acesso