Freigeben über


PsGetCurrentThreadTeb-Funktion (ntddk.h)

Die PsGetCurrentThreadTeb Routine gibt den Thread environment Block (TEB) des aktuellen Threads oder NULL zurück. Der Aufruf muss im Kernelmodus erfolgen.

Syntax

PVOID PsGetCurrentThreadTeb();

Rückgabewert

Ein Zeiger auf den Threadumgebungsblock des aktuellen Threads. Auf den TEB sollte innerhalb eines Try/Catch-Ausnahmeblocks zugegriffen werden.

PsGetCurrentThreadTeb gibt IN den folgenden Fällen NULL zurück:

  • Der aktuelle Thread verfügt nicht über einen TEB (z. B. einen Systemthread).
  • Der aktuelle Thread kann nicht sicher auf seine eigene TEB zugreifen. Dies kann passieren, wenn der Treiber den Thread an den Adressraum eines anderen Prozesses angefügt hat, z. B. durch Aufrufen von KeStackAttachProcess.

Bemerkungen

Während PsGetCurrentThreadTeb- bei jedem IRQL aufgerufen werden kann, ohne eine Fehlerüberprüfung zu verursachen, ist der TEB nicht sicher, auf DISPATCH_LEVEL oder höher zuzugreifen (es könnte ausgelagert werden). Wenn Sie irQL mit erhöhten Rechten aus dem Kontext eines Interrupts oder DPC aufrufen, ist der aktuelle Thread auch dann, wenn er auf dem aktuellen Prozessor ausgeführt wird, wenn der Interrupt dort übermittelt wurde. Daher wird empfohlen, PsGetCurrentThreadTeb- aus dem Threadkontext unterhalb DISPATCH_LEVEL aufzurufen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 7 und höheren Versionen von Windows.
Zielplattform- Universal
Header- ntddk.h
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Beliebige Ebene (siehe Hinweise)

Siehe auch

Prozess- und Thread-Manager-Routinen