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 を 1 回だけ呼び出すことができます。 再初期化ルーチンを複数回実行する必要がある場合、DriverReinitializationRoutine は、DriverReinitializationRoutine が呼び出された回数を追跡するために Count パラメーターを使用して、必要な回数だけ IoRegisterBootDriverReinitialization呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header ntddk.h (Ntifs.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

こちらもご覧ください

DRIVER_OBJECT

IoRegisterDriverReinitialization

初期化