psLookupThreadByThreadId 函式 (ntifs.h)
PsLookupThreadByThreadId 例程接受線程的線程標識碼,並傳回線程 ETHREAD 結構的參考指標。
語法
NTSTATUS PsLookupThreadByThreadId(
[in] HANDLE ThreadId,
[out] PETHREAD *Thread
);
參數
[in] ThreadId
指定線程的線程標識碼。
[out] Thread
傳回 ThreadId 所指定之線程之 ETHREAD 結構的參考指標。
傳回值
PsLookupThreadByThreadId 會在成功或適當的 NTSTATUS 值上傳回STATUS_SUCCESS,例如:
傳回碼 | Description |
---|---|
|
找不到線程標識碼。 |
備註
此例程適用於 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 |
另請參閱
PsRemoveCreateThreadNotifyRoutine
PsRemoveLoadImageNotifyRoutine