Функция IoRegisterBootDriverReinitialization (ntddk.h)

Подпрограмма IoRegisterBootDriverReinitialization вызывается загрузочным драйвером для регистрации процедуры повторной инициализации драйвера в диспетчере ввода-вывода, вызываемой после перечисления и запуска всех устройств.

Синтаксис

void IoRegisterBootDriverReinitialization(
  [in]           PDRIVER_OBJECT       DriverObject,
  [in]           PDRIVER_REINITIALIZE DriverReinitializationRoutine,
  [in, optional] PVOID                Context
);

Параметры

[in] DriverObject

Указатель на объект драйвера для повторной инициализации загрузочного драйвера.

[in] DriverReinitializationRoutine

Указатель на подпрограмму повторной инициализации драйвера.

[in, optional] Context

Необязательный указатель контекста, передаваемый в подпрограмму повторной инициализации драйвера.

Возвращаемое значение

None

Remarks

Загрузочный драйвер обычно вызывает IoRegisterBootDriverReinitialization из подпрограммы DriverEntry , которая выполняется во время инициализации драйвера загрузки. IoRegisterBootDriverReinitialization регистрирует подпрограмму обратного вызова драйвера для вызова диспетчером ввода-вывода после перечисления и запуска всех устройств. DriverReinitializationRoutine выполняется в системном потоке по адресу IRQL = PASSIVE_LEVEL.

Драйвер должен вызывать IoRegisterBootDriverReinitialization , только если его подпрограмма DriverEntry возвращает STATUS_SUCCESS.

Если DriverReinitializationRoutine использует реестр, подпрограмма DriverEntry должна включать в параметр КонтекстаIoRegisterBootDriver копию строки, на которую указывает собственный параметр RegistryPathDriverEntry.

Подпрограмма DriverEntry может вызывать IoRegisterBootDriverReinitialization только один раз. Если подпрограмму повторной инициализации необходимо выполнить несколько раз, DriverReinitializationRoutine может вызывать IoRegisterBootDriverReinitialization Столько дополнительных раз, сколько потребуется, используя параметр Count для отслеживания количества вызовов DriverReinitializationRoutine .

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Ntifs.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

См. также раздел

DRIVER_OBJECT

IoRegisterDriverReinitialization

Повторная инициализация