システムバッテリー管理の概要
システム コンポーネント
バッテリー管理には次のシステム コンポーネントが含まれます:
- バッテリーGUI:ユーザーにステータス情報を提示し、バッテリーオプションを設定できるようにします
- パワーマネージャー
- 複合バッテリードライバー:Microsoft が提供するカーネル モード ドライバー
- バッテリークラスドライバー: Microsoft が提供するカーネル モード ドライバー
- バッテリー ミニクラス ドライバー:個々のバッテリーデバイスの場合
- デバイス:バッテリーおよび一部の無停電電源装置 (UPS) を含む
バッテリー ミニクラス ドライバーによって制御されるデバイスには、バッテリーと一部の UPS デバイスが含まれます。 バッテリーには、一次電池 (充電不能) または二次電池 (充電可能) があります。 UPS は本質的に、ラップトップのバッテリーよりもはるかに大容量で、異なるアラートしきい値を備えたシステム バッテリーです。
注記:COM ポートに接続されている UPS ユニットの場合、Windows Vista より前のオペレーティング システム用のバッテリ ミニクラス ドライバーを記述するよりも、UPS ミニドライバーの書き込みの方が望ましいです。
コンポーネントの役割
図に示すように、バッテリー動作における各コンポーネントの役割は次のとおりです:
バスドライバーとオプションのフィルタードライバー:デバイスとそのミニクラスドライバーの間に階層化されています。
バッテリーミニクラスドライバー:特定の種類のバッテリーまたは UPS デバイス用の関数ドライバー。
複合バッテリードライバー:システム内のすべてのバッテリの状態を追跡し、電源マネージャーとバッテリ クラス/ミニクラス ドライバーの間の仲介役として機能します。 複合バッテリ ドライバーは、電源マネージャーから IRP を受信し、バッテリの状態が変更されたとき (たとえば、システム バッテリの電力が非常に少なくなったとき) に電源マネージャーに通知します。 複合バッテリー ドライバーは、バッテリー ミニクラス ドライバーとほぼ同じ方法でバッテリー クラス ドライバーと対話しますが、他のミニクラス ドライバーに対して透過的です。 システムには、Microsoft が提供する複合バッテリー ドライバーが 1 つあります。
バッテリークラスドライバー:すべてのバッテリー ミニクラス ドライバーと複合バッテリー ドライバーをサポートします。 システムには、Microsoft が提供するバッテリー クラス ドライバーが 1 つあります。
パワーマネージャー:複合バッテリー ドライバーを介して、電力とプラグ アンド プレイ (PnP) IRP をバッテリー デバイス スタックに送信します。 電源マネージャーは、バッテリー クラスまたはミニクラス ドライバーと直接対話しません。すべての IRP は複合バッテリー ドライバーを通じて送信されます。
バッテリーGUI:電源マネージャーを介して複合バッテリ ドライバーからシステム バッテリの状態を取得し、その情報をユーザーに提示します。 また、GUI は、デバイス固有の情報を取得するために IRP をバッテリー ミニクラス ドライバーに送信します。 システムには、ハードウェア ベンダーから提供されるバッテリー GUI が 1 つあります。