Partager via


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

Fonctions Access Control de base

CreateProcessAsUser

DuplicateTokenEx

ImpersonateLoggedOnUser

SECURITY_IMPERSONATION_LEVEL

SetThreadToken