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 例程调用 IoRegisterBootDriverReinitializationIoRegisterBootDriverReinitialization 注册驱动程序的重新初始化回调例程,以在枚举和启动所有设备后由 I/O 管理器调用。 DriverReinitializationRoutine 在 IRQL = PASSIVE_LEVEL 的系统线程中运行。

仅当驱动程序 DriverEntry 例程将返回STATUS_SUCCESS时,驱动程序才应调用 IoRegisterBootDriverReinitialization

如果 DriverReinitializationRoutine 使用注册表,则 DriverEntry 例程必须包含在 IoRegisterBootDriverReinitializationContext 参数中,DriverEntry自己的 RegistryPath 参数点的副本。

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

重新初始化