PsSetCreateThreadNotifyRoutineEx 函数 (ntddk.h)
PsSetCreateThreadNotifyRoutineEx 例程注册驱动程序提供的回调,该回调随后会在创建新线程和删除此类线程时收到通知。
语法
NTSTATUS PsSetCreateThreadNotifyRoutineEx(
[in] PSCREATETHREADNOTIFYTYPE NotifyType,
[in] PVOID NotifyInformation
);
参数
[in] NotifyType
一个 PSCREATETHREADNOTIFYTYPE 值,该值指示线程通知的类型。
[in] NotifyInformation
提供指定类型的线程通知的通知信息的地址。 如果 NotifyType 为 PsCreateThreadNotifyNonSystem 或 PsCreateThreadNotifySubsystems ,则 NotifyInformation 应是指向驱动程序实现 PCREATE_THREAD_NOTIFY_ROUTINE的指针。
返回值
PsSetCreateThreadNotifyRoutineEx 返回STATUS_SUCCESS,或者如果回调注册失败,则返回STATUS_INSUFFICIENT_RESOURCES。
注解
最高级别的驱动程序可以调用 PsSetCreateThreadNotifyRoutineEx 来设置其线程创建通知例程。
例如,IFS 或最高级别的系统分析驱动程序可能会注册这样的线程创建回调,以根据驱动程序的内部状态跟踪系统范围的线程创建和删除。
如果 NotifyType 是 PsCreateThreadNotifyNonSystem, 则 PsSetCreateThreadNotifyRoutineEx 例程不同于执行回调的上下文中的 PsSetCreateThreadNotifyRoutine 。 使用 PsSetCreateThreadNotifyRoutine,回调在创建者线程上执行。 使用 PsSetCreateThreadNotifyRoutineEx,回调在新创建的线程上执行。
驱动程序必须先删除它注册的任何回调函数,然后才能卸载。 可以通过调用 PsRemoveCreateThreadNotifyRoutine 例程来删除回调。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 10开始可用。 |
目标平台 | 通用 |
标头 | ntddk.h (包括 Ntddk.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
另请参阅
PsRemoveCreateThreadNotifyRoutine
PsSetCreateProcessNotifyRoutine