バッテリーミニクラスドライバー: DriverEntry ルーチン
DriverEntry ルーチンは、ミニクラス ドライバーを初期化します。
ドライバー固有のエントリ ポイント
ミニクラス ドライバーの DriverEntry ルーチンは、次のドライバー固有のエントリ ポイントを設定します。
- DriverObjectー> DriverUnload の Unload ルーチン
- DriverObjectー> DriverExtensionー> AddDevice のドライバーの AddDevice ルーチン
- DRIVER_DISPATCH のコールバック関数 DriverObject->MajorFunction[IRP_MJ_POWER]
- DRIVER_DISPATCH のコールバック関数 DriverObject->MajorFunction[IRP_MJ_PNP]
- DRIVER_DISPATCH のコールバック関数 DriverObject->MajorFunction[IRP_MJ_CREATE]
- DRIVER_DISPATCH コールバック関数 DriverObject->MajorFunction[IRP_MJ_CLOSE]
- DRIVER_DISPATCH コールバック関数 DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]
- The DRIVER_DISPATCH コールバック関数 DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL].
以下は、仮想の NewBatt ミニクラス ドライバーのこれらのエントリ ポイントを初期化するサンプル コードです。
DriverObject->DriverUnload = NewBattUnload;
DriverObject->DriverExtension->AddDevice = NewBattAddDevice;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = NewBattDispatchDeviceControl;
DriverObject->MajorFunction[IRP_MJ_CREATE] = NewBattDispatchCreate;
DriverObject->MajorFunction[IRP_MJ_CLOSE] = NewBattDispatchClose;
DriverObject->MajorFunction[IRP_MJ_PNP] = NewBattDispatchPnp;
DriverObject->MajorFunction[IRP_MJ_POWER] = NewBattDispatchPower;
DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = NewBattSystemControl;
PnP マネージャーがミニクラス ドライバーの AddDevice ルーチンを呼び出すまで、バッテリ固有の状態情報は不明であるため、 DriverEntry ルーチンはそのような状態を初期化しません。 デバイス固有の初期化は、AddDevice ルーチンで実行されます。
追加のルーチン固有の要件
ルーチン固有の要件の詳細については、次のトピックを参照してください。