Función DuplicateToken (securitybaseapi.h)
La función DuplicateToken crea un nuevo token de acceso que duplica uno que ya existe.
Sintaxis
BOOL DuplicateToken(
[in] HANDLE ExistingTokenHandle,
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
[out] PHANDLE DuplicateTokenHandle
);
Parámetros
[in] ExistingTokenHandle
Identificador de un token de acceso abierto con TOKEN_DUPLICATE acceso.
[in] ImpersonationLevel
Especifica un tipo de enumeración SECURITY_IMPERSONATION_LEVEL que proporciona el nivel de suplantación del nuevo token.
[out] DuplicateTokenHandle
Puntero a una variable que recibe un identificador para el token duplicado. Este identificador tiene TOKEN_IMPERSONATE y TOKEN_QUERY acceso al nuevo token.
Cuando haya terminado de usar el nuevo token, llame a la función CloseHandle para cerrar el identificador del token.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
La función DuplicateToken crea un token de suplantación, que puede usar en funciones como SetThreadToken y ImpersonateLoggedOnUser. El token creado por DuplicateToken no se puede usar en la función CreateProcessAsUser , que requiere un token principal. Para crear un token que pueda pasar a CreateProcessAsUser, use la función DuplicateTokenEx .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | securitybaseapi.h (incluya Windows.h) |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |
Consulte también
Información general del control de acceso