バッテリークラスドライバーとミニクラスドライバーの相互作用
バッテリー クラス ドライバーとミニクラス ドライバーは連携して、コンピューターのバッテリーの使用を管理します。 次の図は、それらの相互作用を示しています。
ミニクラス ドライバーは、制御するデバイスの主要な機能ドライバーとして機能します。 複合バッテリ ドライバーを介して電源マネージャーから入出力要求パケット (IRP) を受信し、バッテリ クラス ドライバーのサポート ルーチンを呼び出して、デバイスの登録、状態の報告、特定のシステム定義のバッテリ IOCTL の処理を行います。
クラス ドライバーは、すべてのミニクラス ドライバーから情報と状態を収集し、複合バッテリー ドライバーを介して電源マネージャーに報告します。 バッテリ IOCTL に応答して、クラス ドライバーは、ミニクラス ドライバーで バッテリーミニクラス ドライバー ルーチン (BatteryMiniXxx routines) を呼び出して、特定のデバイス制御操作を実行します。 さらに、パワー メーターなどのアプリケーションは、IRP_MJ_DEVICE_CONTROL要求をミニクラス ドライバーに送信して、特定のバッテリーに関する情報を取得できます。
このクラスドライバは、さまざまなバッテリ情報と状態を処理するように設計されており、温度、容量の変化などを管理します。 ただし、個々のバッテリーは、これらの状態を検出して報告する能力が異なります。 各ミニクラス ドライバーは、特定のバッテリーの種類を管理するように調整する必要があり、サポートされていない情報を求められた場合は、クラス ドライバーに適切に応答する必要があります。