IoRegisterBootDriverReinitialization 函数 (ntddk.h)
启动驱动程序调用 IoRegisterBootDriverReinitialization 例程,以将驱动程序的重新初始化例程注册到 I/O 管理器,在枚举和启动所有设备后调用。
语法
void IoRegisterBootDriverReinitialization(
[in] PDRIVER_OBJECT DriverObject,
[in] PDRIVER_REINITIALIZE DriverReinitializationRoutine,
[in, optional] PVOID Context
);
参数
[in] DriverObject
指向要重新初始化的启动驱动程序的驱动程序对象的指针。
[in] DriverReinitializationRoutine
指向驱动程序重新 初始化 例程的指针。
[in, optional] Context
要传递给驱动程序重新初始化例程的可选上下文指针。
返回值
无
备注
启动驱动程序通常从其 DriverEntry 例程调用 IoRegisterBootDriverReinitialization,该例程在启动驱动程序初始化期间运行。 IoRegisterBootDriverReinitialization 注册驱动程序的重新初始化回调例程,该例程将在枚举并启动所有设备后由 I/O 管理器调用。 DriverReinitializationRoutine 在 IRQL = PASSIVE_LEVEL 的系统线程中运行。
仅当驱动程序的 DriverEntry 例程返回STATUS_SUCCESS时,驱动程序才应调用 IoRegisterBootDriverReinitialization。
如果 DriverReinitializationRoutine 使用注册表, 则 DriverEntry 例程必须在 IoRegisterBootDriverReinitialization 的 Context 参数中包含 DriverEntry 自己的 RegistryPath 参数指向的字符串的副本。
DriverEntry 例程只能调用 IoRegisterBootDriverReinitialization一次。 如果需要多次运行重新初始化例程, 则 DriverReinitializationRoutine 可以根据需要调用 IoRegisterBootDriverReinitialization ,使用 Count 参数跟踪 DriverReinitializationRoutine 的调用次数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | ntddk.h (包括 Ntifs.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) 、 PowerIrpDDis (wdm) |