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 例程必须在 IoRegisterBootDriverReinitializationContext 参数中包含 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)

另请参阅

DRIVER_OBJECT

IoRegisterDriverReinitialization

重新初始化