Поделиться через


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

Максимальное количество драйверов, которые могут быть одновременно зарегистрированы для получения уведомлений о загрузке изображений, составляет восемь. Если максимальное количество подпрограмм уведомления о загрузке изображений уже зарегистрировано, когда драйвер вызывает 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 (include Ntddk.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

См. также

PLOAD_IMAGE_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsRemoveLoadImageNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine