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) |