Fonction ImpersonateAnonymousToken (securitybaseapi.h)
La fonction ImpersonateAnonymousToken permet au thread spécifié d’emprunter l’identité du jeton d’ouverture de session anonyme du système. Pour s’assurer qu’un jeton correspond au concept d’accès anonyme du système d’exploitation, cette fonction doit être appelée avant de tenter d’accéder au réseau pour générer un jeton anonyme sur le serveur distant.
Syntaxe
BOOL ImpersonateAnonymousToken(
[in] HANDLE ThreadHandle
);
Paramètres
[in] ThreadHandle
Handle du thread pour emprunter l’identité du jeton d’ouverture de session anonyme du système. Le handle de thread doit avoir le droit d’accès THREAD_IMPERSONATE pour que le thread emprunte l’identité du jeton d’ouverture de session anonyme du système.
Pour accorder un tel accès, le thread doit être ouvert en appelant OpenThread avec le droit d’accès souhaité à THREAD_IMPERSONATE.
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.
Une erreur de ACCESS_DENIED peut indiquer que le jeton est destiné à un processus restreint. Utilisez OpenProcessToken et IsTokenRestricted pour case activée si le processus est restreint. ACCESS_DENIED est également retourné si le handle de thread ne dispose pas d’un accès approprié à THREAD_IMPERSONATE.
Remarques
Les jetons anonymes n’incluent pas le SID de groupe « Tout le monde », sauf si la valeur par défaut du système a été remplacée en définissant la valeur de Registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\EveryoneIncludesAnonymous sur DWORD=1.
Pour annuler l’emprunt d’identité, appelez RevertToSelf.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | securitybaseapi.h (inclure Windows.h) |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |