Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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) |