Partager via


PsGetCurrentThreadTeb, fonction (ntddk.h)

La routine PsGetCurrentThreadTeb retourne le bloc d’environnement de thread (TEB) du thread actuel ou NULL. L’appel doit être effectué en mode noyau.

Syntaxe

PVOID PsGetCurrentThreadTeb();

Valeur de retour

Pointeur vers le bloc d’environnement de thread du thread actuel. L’TEB doit être accessible dans un bloc d’exception try/catch.

PsGetCurrentThreadTeb retourne NULL dans les cas suivants :

  • Le thread actuel n’a pas de TEB (par exemple un thread système).
  • Le thread actuel ne peut pas accéder en toute sécurité à son propre TEB. Cela peut se produire si le pilote a attaché le thread à l’espace d’adressage d’un autre processus, par exemple en appelant KeStackAttachProcess.

Remarques

Bien que PsGetCurrentThreadTeb peut être appelé à n’importe quel runtime d’intégration sans provoquer de vérification de bogue, l’TEB n’est pas sûr d’accéder à DISPATCH_LEVEL ou version ultérieure (il peut être paginé). En outre, si vous appelez à un irQL avec élévation de privilèges à partir du contexte d’une interruption ou DPC, le thread actuel est l’exécution sur le processeur actuel lorsque votre interruption a été remise. Par conséquent, il est recommandé d’appeler PsGetCurrentThreadTeb à partir du contexte de thread ci-dessous DISPATCH_LEVEL.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 7 et versions ultérieures de Windows.
plateforme cible Universel
d’en-tête ntddk.h
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau (voir Remarques)

Voir aussi

routines de processus et de gestionnaire de threads