GetCurrentThread, fonction (processthreadsapi.h)

Récupère un pseudo-handle pour le thread appelant.

Syntaxe

HANDLE GetCurrentThread();

Valeur de retour

La valeur de retour est un pseudo-handle pour le thread actuel.

Remarques

Un pseudo-handle est une constante spéciale qui est interprétée comme le handle de thread actuel. Le thread appelant peut utiliser ce handle pour se spécifier lui-même chaque fois qu’un handle de thread est nécessaire. Les pseudo-handles ne sont pas hérités par les processus enfants.

Ce handle a le droit d’accès THREAD_ALL_ACCESS à l’objet thread. Pour plus d’informations, consultez Sécurité des threads et droits d’accès.

Windows Server 2003 et Windows XP : Ce handle a l’accès maximal autorisé par le descripteur de sécurité du thread au jeton principal du processus.

La fonction ne peut pas être utilisée par un thread pour créer un handle qui peut être utilisé par d’autres threads pour faire référence au premier thread. Le handle est toujours interprété comme faisant référence au thread qui l’utilise. Un thread peut créer un handle « réel » qui peut être utilisé par d’autres threads ou hérité par d’autres processus, en spécifiant le pseudo-handle comme handle source dans un appel à la fonction DuplicateHandle .

Le pseudo-handle n’a pas besoin d’être fermé quand il n’est plus nécessaire. L’appel de la fonction CloseHandle avec ce handle n’a aucun effet. Si le pseudo-handle est dupliqué par DuplicateHandle, le handle dupliqué doit être fermé.

Ne créez pas de thread lors de l’emprunt d’identité d’un contexte de sécurité. L’appel réussit, mais le thread nouvellement créé aura des droits d’accès réduits à lui-même lors de l’appel de GetCurrentThread. Les droits d’accès accordés à ce thread sont dérivés des droits d’accès dont dispose l’utilisateur emprunt d’identité au processus. Certains droits d’accès, y compris les THREAD_SET_THREAD_TOKEN et les THREAD_GET_CONTEXT , peuvent ne pas être présents, ce qui entraîne des échecs inattendus.

Exemples

Pour obtenir un exemple, consultez Vérification de l’accès au client.

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 processthreadsapi.h (inclure Windows.h sur Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

CloseHandle

DuplicateHandle

GetCurrentProcess

GetCurrentThreadId

OpenThread

Fonctions de processus et de thread

Threads

API Vertdll disponibles dans les enclaves VBS