Freigeben über


PsLookupThreadByThreadId-Funktion (ntifs.h)

Die PsLookupThreadByThreadId Routine akzeptiert die Thread-ID eines Threads und gibt einen Referenzzeiger auf die ETHREAD-Struktur des Threads zurück.

Syntax

NTSTATUS PsLookupThreadByThreadId(
  [in]  HANDLE   ThreadId,
  [out] PETHREAD *Thread
);

Parameter

[in] ThreadId

Gibt die Thread-ID des Threads an.

[out] Thread

Gibt einen verweisbaren Zeiger auf die ETHREAD-Struktur des Threads zurück, der durch die ThreadId-angegeben wird.

Rückgabewert

PsLookupThreadByThreadId gibt STATUS_SUCCESS für Erfolg oder einen geeigneten NTSTATUS-Wert zurück, z. B.:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Die Thread-ID wurde nicht gefunden.

Bemerkungen

Diese Routine ist unter Windows 2000 und höheren Versionen verfügbar.

Wenn der Aufruf von PsLookupThreadByThreadId erfolgreich ist, erhöhtPsLookupThreadByThreadId die Verweisanzahl für das im Thread Parameter zurückgegebene Objekt. Wenn ein Treiber mit dem parameter Thread abgeschlossen wurde, muss der Treiber ObDereferenceObject aufrufen, um den Thread Parameter abzuleiten, 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 eine Threadbenachrichtigungsrückrufroutine mit PsSetCreateThreadNotifyRoutinefestlegen. In der Benachrichtigungsrückrufroutine kann der Dateisystemfiltertreiber die übergebene ThreadId Parameter verwenden und PsLookupThreadByThreadId-aufrufen, um die ETHREAD-Struktur zu finden.

Die PsLookupThreadByThreadId- Routine enthält ausgelagerten Code.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

ObDereferenceObject

PsGetCurrentProcess

PsGetCurrentProcessId

PsGetCurrentThread-

PsGetCurrentThreadId

PsLookupProcessByProcessId-

PsRemoveCreateThreadNotifyRoutine

PsRemoveLoadImageNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine