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 Update 提供的累積更新的一部分。 此外,這個累積更新可在 取得 https://support.microsoft.com/kb/2919355
  • Windows 7 Service Pack 1 (SP1 的使用者) 可以安裝 Hotfix,以增加註冊以接收 8 到 64 的載入映射通知的驅動程式數目上限。 此 Hotfix 位於 https://support.microsoft.com/kb/2922790
驅動程式必須在卸除之前移除它註冊的任何回呼。 您可以呼叫 PsRemoveLoadImageNotifyRoutine 例程來移除回呼。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDDIs (storport) IrqlPsPassive (wdm) PowerIrpDDis (wdm)

另請參閱

PLOAD_IMAGE_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsRemoveLoadImageNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine