PsSetLoadImageNotifyRoutine 函数 (ntddk.h)

PsSetLoadImageNotifyRoutine 例程注册驱动程序提供的回调,每当映像 ((例如,DLL 或 EXE) )加载 (或映射到内存) 时,该回调随后会收到通知。

语法

NTSTATUS PsSetLoadImageNotifyRoutine(
  [in] PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine
);

参数

[in] NotifyRoutine

指向加载映像通知的调用方实现 的PLOAD_IMAGE_NOTIFY_ROUTINE 回调例程的指针。

返回值

PsSetLoadImageNotifyRoutine 返回STATUS_SUCCESS,或者如果回调注册失败,则返回STATUS_INSUFFICIENT_RESOURCES。

备注

最高级别的系统分析驱动程序可以调用 PsSetLoadImageNotifyRoutine 来设置其加载映像通知例程 , (查看PLOAD_IMAGE_NOTIFY_ROUTINE)

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

说明

  • Windows 8.1更新将注册的最大驱动程序数从 8 个增加到 64 个。 此更新是自 2014 年 4 月 8 日开始通过Windows 更新提供的累积更新的一部分安装的。 此外,此累积更新在 https://support.microsoft.com/kb/2919355.
  • Windows 7 的 Service Pack 1 (SP1 用户) 可以安装修补程序,以增加注册的最大驱动程序数,以接收从 8 到 64 的加载映像通知。 此修补程序在 https://support.microsoft.com/kb/2922790.
驱动程序必须在卸载之前删除它注册的任何回调。 可以通过调用 PsRemoveLoadImageNotifyRoutine 例程来删除回调。

要求

   
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 ntddk.h (包括 Ntddk.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDIs (storport) IrqlPsPassive (wdm) PowerIrpDDis (wdm)

另请参阅

PLOAD_IMAGE_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsRemoveLoadImageNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine