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
目标平台 Windows
标头 ntddk.h
Library NtosKrnl.lib
DLL NtosKrnl.exe (内核模式)
IRQL PASSIVE_LEVEL