PsSetCreateThreadNotifyRoutineEx 函数 (ntddk.h)
PsSetCreateThreadNotifyRoutineEx 例程注册驱动程序提供的回调,该回调随后会在创建新线程和删除此类线程时收到通知。
语法
NTSTATUS PsSetCreateThreadNotifyRoutineEx(
[in] PSCREATETHREADNOTIFYTYPE NotifyType,
[in] PVOID NotifyInformation
);
参数
[in] NotifyType
PSCREATETHREADNOTIFYTYPE 值,指示线程通知的类型。
[in] NotifyInformation
提供指定类型的线程通知的通知信息的地址。 如果 NotifyTypePsCreateThreadNotifyNonSystem 或 PsCreateThreadNotifySubsystems,则 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) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
另请参阅
PsRemoveCreateThreadNotifyRoutine
PsSetCreateProcessNotifyRoutine