PsLookupThreadByThreadId-Funktion (ntifs.h)
Die PsLookupThreadByThreadId-Routine akzeptiert die Thread-ID eines Threads und gibt einen Zeiger zurück, auf den verwiesen wird, auf die ETHREAD-Struktur des Threads.
Syntax
NTSTATUS PsLookupThreadByThreadId(
[in] HANDLE ThreadId,
[out] PETHREAD *Thread
);
Parameter
[in] ThreadId
Gibt die Thread-ID des Threads an.
[out] Thread
Gibt einen Zeiger zurück, auf den verwiesen wird, auf die ETHREAD-Struktur des Threads, der durch die ThreadId angegeben wird.
Rückgabewert
PsLookupThreadByThreadId gibt STATUS_SUCCESS nach Erfolg oder einen geeigneten NTSTATUS-Wert zurück, z. B.:
Rückgabecode | Beschreibung |
---|---|
|
Die Thread-ID wurde nicht gefunden. |
Hinweise
Diese Routine ist unter Windows 2000 und höheren Versionen verfügbar.
Wenn der Aufruf von PsLookupThreadByThreadId erfolgreich ist, erhöht PsLookupThreadByThreadId die Verweisanzahl für das im Thread-Parameter zurückgegebene Objekt. Wenn ein Treiber mit dem Thread-Parameter abgeschlossen wurde, muss der Treiber Daher ObDereferenceObject aufrufen, um den thread-Parameter zu dereferenzieren, der von der PsLookupThreadByThreadId-Routine empfangen wurde.
Die ETHREAD-Struktur ist eine undurchsichtige Datenstruktur, die intern vom Betriebssystem verwendet wird. Diese Struktur kann an andere Routinen übergeben werden, um auf bestimmte Informationen in dieser Struktur zuzugreifen.
Ein Dateisystemfiltertreiber kann aktive Threads aufzählen, indem PsLookupThreadByThreadId aufgerufen wird, um eine Thread-ID in eine ETHREAD-Struktur zu konvertieren. Die Thread-ID ist in der Threaderstellungsroutine verfügbar. Ein Dateisystemfiltertreiber kann mithilfe von PsSetCreateThreadNotifyRoutine eine Rückrufroutine für Threadbenachrichtigungen festlegen. In der Benachrichtigungsrückrufroutine kann der Dateisystemfiltertreiber den übergebenen ThreadId-Parameter verwenden und PsLookupThreadByThreadId aufrufen, um die ETHREAD-Struktur zu suchen.
Die PsLookupThreadByThreadId-Routine enthält ausgelagerten Code.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Weitere Informationen
PsRemoveCreateThreadNotifyRoutine
PsRemoveLoadImageNotifyRoutine