Fonction DuplicateToken (securitybaseapi.h)
La fonction DuplicateToken crée un nouveau jeton d’accès qui en double un déjà existant.
Syntaxe
BOOL DuplicateToken(
[in] HANDLE ExistingTokenHandle,
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
[out] PHANDLE DuplicateTokenHandle
);
Paramètres
[in] ExistingTokenHandle
Handle à un jeton d’accès ouvert avec TOKEN_DUPLICATE accès.
[in] ImpersonationLevel
Spécifie un SECURITY_IMPERSONATION_LEVEL type énuméré qui fournit le niveau d’emprunt d’identité du nouveau jeton.
[out] DuplicateTokenHandle
Pointeur vers une variable qui reçoit un handle vers le jeton en double. Ce handle dispose d’un accès TOKEN_IMPERSONATE et TOKEN_QUERY au nouveau jeton.
Une fois que vous avez terminé d’utiliser le nouveau jeton, appelez la fonction CloseHandle pour fermer le handle de jeton.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
La fonction DuplicateToken crée un jeton d’emprunt d’identité, que vous pouvez utiliser dans des fonctions telles que SetThreadToken et ImpersonateLoggedOnUser. Le jeton créé par DuplicateToken ne peut pas être utilisé dans la fonction CreateProcessAsUser , qui nécessite un jeton principal. Pour créer un jeton que vous pouvez passer à CreateProcessAsUser, utilisez la fonction DuplicateTokenEx .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | securitybaseapi.h (inclure Windows.h) |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |
Voir aussi
Vue d’ensemble du contrôle d’accès