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)
程式庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDDIs (storport) PowerIrpDDis (wdm)

另請參閱

DRIVER_OBJECT

IoRegisterDriverReinitialization

重新初始化