Функция 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) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по