共用方式為


PsLookupThreadByThreadId 函式 (ntifs.h)

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

語法

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

參數

[in] ThreadId

指定線程的線程標識碼。

[out] Thread

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

傳回值

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

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

言論

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

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

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

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

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

要求

要求 價值
目標平臺 普遍
標頭 ntifs.h (include Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

ObDereferenceObject

PsGetCurrentProcess

PsGetCurrentProcessId

PsGetCurrentThread

PsGetCurrentThreadId

PsLookupProcessByProcessId

PsRemoveCreateThreadNotifyRoutine

PsRemoveLoadImageNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine