PsSetLoadImageNotifyRoutineEx 函数 (ntddk.h)
PsSetLoadImageNotifyRoutineEx 例程注册驱动程序提供的回调,每当映像 ((例如 DLL 或 EXE) 加载 (或映射到内存) 时,该回调就会发出通知。
语法
NTSTATUS PsSetLoadImageNotifyRoutineEx(
[in] PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine,
[in] ULONG_PTR Flags
);
参数
[in] NotifyRoutine
指向调用方实现 的PLOAD_IMAGE_NOTIFY_ROUTINE 用于加载图像通知的回调例程的指针。
[in] Flags
提供控制回调函数的标志的位掩码。 可能的值有:
- PS_IMAGE_NOTIFY_CONFLICTING_ARCHITECTURE指示应为所有潜在的可执行映像(包括具有不同于操作系统本机体系结构的体系结构的映像)调用回调例程。
返回值
返回代码 | 说明 |
---|---|
|
已成功注册回调。 |
|
标志中提供的标志无效。 |
|
由于缺少资源,例程分配回调块失败。 |
注解
最高级别的系统分析驱动程序可以调用 PsSetLoadImageNotifyRoutineEx 来设置其加载映像通知例程, (查看 PLOAD_IMAGE_NOTIFY_ROUTINE) 。
可以同时注册以接收加载映像通知的最大驱动程序数为 64。 如果在驱动程序调用 PsSetLoadImageNotifyRoutineEx 尝试注册其他通知例程时已注册最大数量的加载映像通知例程, 则 PsSetLoadImageNotifyRoutineEx 将失败并返回STATUS_INSUFFICIENT_RESOURCES。
驱动程序必须在卸载之前删除它注册的任何回调。 可以通过调用 PsRemoveLoadImageNotifyRoutine 例程来删除回调。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1709 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | Windows |
标头 | ntddk.h |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe (内核模式) |
IRQL | PASSIVE_LEVEL |