PsSetCreateThreadNotifyRoutineEx 函式 (ntddk.h)

PsSetCreateThreadNotifyRoutineEx 例程會註冊驅動程式提供的回呼,該回呼會在建立新的線程和刪除這類線程時收到通知。

語法

NTSTATUS PsSetCreateThreadNotifyRoutineEx(
  [in] PSCREATETHREADNOTIFYTYPE NotifyType,
  [in] PVOID                    NotifyInformation
);

參數

[in] NotifyType

PSCREATETHREADNOTIFYTYPE 值,指出線程通知的類型。

[in] NotifyInformation

提供指定線程通知類型的通知信息位址。 如果 NotifyTypePsCreateThreadNotifyNonSystemPsCreateThreadNotifySubsystems,NotifyInformation 應該是驅動程序實作PCREATE_THREAD_NOTIFY_ROUTINE的指標。

傳回值

PsSetCreateThreadNotifyRoutineEx 會傳回STATUS_SUCCESS,如果回呼註冊失敗,則會傳回STATUS_INSUFFICIENT_RESOURCES。

備註

最高層級驅動程式可以呼叫 PsSetCreateThreadNotifyRoutineEx 來設定其線程建立通知例程。

例如,IFS 或最高層級的系統分析驅動程式可能會註冊這類線程建立回呼,以追蹤針對驅動程式內部狀態的整個系統建立和刪除線程。

如果 NotifyTypePsCreateThreadNotifyNonSystem,PsSetCreateThreadNotifyRoutineEx 例程與執行回呼的內容中的 PsSetCreateThreadNotifyRoutine 不同。 使用 PsSetCreateThreadNotifyRoutine 時,回呼會在建立者線程上執行。 使用 PsSetCreateThreadNotifyRoutineEx,回呼會在新建立的線程上執行。

驅動程式必須先移除它註冊的任何回呼函式,才能卸除。 您可以呼叫 PsRemoveCreateThreadNotifyRoutine 例程來移除回呼。

規格需求

需求
最低支援的用戶端 從 Windows 10 開始提供。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL

另請參閱

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine