Функция 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).

Максимальное количество драйверов, которые могут быть одновременно зарегистрированы для получения уведомлений о образе загрузки, составляет восемь. Если максимальное число подпрограмм уведомления load-image уже зарегистрировано, когда драйвер вызывает PsSetLoadImageNotifyRoutine , чтобы попытаться зарегистрировать дополнительную подпрограмму уведомления, PsSetLoadImageNotifyRoutine завершается сбоем и возвращает STATUS_INSUFFICIENT_RESOURCES.

Примечания

  • Обновление для Windows 8.1 увеличивает максимальное число драйверов, зарегистрированных для получения уведомлений о загрузке образа, с восьми до 64. Это обновление устанавливается в составе накопительного обновления, доступного до клиентский компонент Центра обновления Windows начиная с 8 апреля 2014 г. Кроме того, это накопительное обновление доступно по адресу https://support.microsoft.com/kb/2919355.
  • Пользователи Windows 7 с пакетом обновления 1 (SP1) могут установить исправление, чтобы увеличить максимальное число драйверов, зарегистрированных для получения уведомлений о загрузке образа, с 8 до 64. Это исправление доступно по адресу https://support.microsoft.com/kb/2922790.
Драйвер должен удалить все зарегистрированные обратные вызовы перед выгрузкой. Обратный вызов можно удалить, вызвав подпрограмму PsRemoveLoadImageNotifyRoutine .

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть 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