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指示应为所有可能可执行的映像调用回调例程,包括具有不同于作系统本机体系结构的体系结构的映像。

返回值

返回代码 描述
STATUS_SUCCESS
已成功注册回调。
STATUS_INVALID_PARAMETER_2
标志中提供了无效的标志。
STATUS_INSUFFICIENT_RESOURCES
由于资源不足,例程未能分配回调块。

言论

最高级别的系统分析驱动程序可以调用 PsSetLoadImageNotifyRoutineEx 来设置其加载映像通知例程(请参阅 PLOAD_IMAGE_NOTIFY_ROUTINE)。

可以同时注册以接收加载映像通知的驱动程序的最大数目为 64。 如果驱动程序调用 PsSetLoadImageNotifyRoutineEx 尝试注册其他通知例程时,已注册负载映像通知例程的最大数目,PsSetLoadImageNotifyRoutineEx 失败并返回STATUS_INSUFFICIENT_RESOURCES。

驱动程序必须在卸载之前删除它注册的任何回调。 可以通过调用 PsRemoveLoadImageNotifyRoutine 例程来删除回调。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1709
支持的最低服务器 Windows Server 2016
目标平台 窗户
标头 ntddk.h
NtosKrnl.lib
DLL NtosKrnl.exe(内核模式)
IRQL PASSIVE_LEVEL