psLookupThreadByThreadId 函式 (ntifs.h)

PsLookupThreadByThreadId 例程接受線程的線程標識碼,並傳回線程 ETHREAD 結構的參考指標。

語法

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

參數

[in] ThreadId

指定線程的線程標識碼。

[out] Thread

傳回 ThreadId 所指定之線程之 ETHREAD 結構的參考指標。

傳回值

PsLookupThreadByThreadId 會在成功或適當的 NTSTATUS 值上傳回STATUS_SUCCESS,例如:

傳回碼 Description
STATUS_INVALID_PARAMETER
找不到線程標識碼。

備註

此例程適用於 Windows 2000 和更新版本。

如果 對 PsLookupThreadByThreadId 的呼叫成功, PsLookupThreadByThreadId 會增加 Thread 參數所傳回對象的參考計數。 因此,當驅動程式使用 Thread 參數完成時,驅動程式必須呼叫 ObDereferenceObject,以取值從 PsLookupThreadByThreadId 例程收到的 Thread 參數。

ETHREAD 結構是操作系統內部使用的不透明數據結構。 此結構可以傳遞至其他例程,以存取此結構中的特定資訊。

文件系統篩選驅動程式可以藉由呼叫 PsLookupThreadByThreadId 將線程標識碼轉換為 ETHREAD 結構來列舉作用中的線程。 線程標識碼可在線程建立例程中使用。 文件系統篩選驅動程式可以使用 PsSetCreateThreadNotifyRoutine 來設定線程通知回呼例程。 在通知回呼例程中,文件系統篩選驅動程式可以使用傳入 的 ThreadId 參數,並呼叫 PsLookupThreadByThreadId 來找出 ETHREAD 結構。

PsLookupThreadByThreadId 例程包含可分頁程序代碼。

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

ObDereferenceObject

PsGetCurrentProcess

PsGetCurrentProcessId

PsGetCurrentThread

PsGetCurrentThreadId

PsLookupProcessByProcessId

PsRemoveCreateThreadNotifyRoutine

PsRemoveLoadImageNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine