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开始可用。
目标平台 通用
标头 ntddk.h (包括 Ntddk.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

另请参阅

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine