系统电池管理概述
系统组件
电池管理涉及以下系统组件:
- 电池 GUI:向用户显示状态信息并允许用户设置电池选项
- 电源管理器
- 复合电池驱动程序:Microsoft 提供的内核模式驱动程序
- 电池类驱动程序:Microsoft 提供的内核模式驱动程序
- 电池微型类驱动程序:对于单个电池设备
- 设备:包括电池和一些不间断电源 (UPS)
由电池微型类驱动程序控制的设备包括电池和一些 UPS 设备。 电池可以是主要(不可充电)或次要(可充电)电池。 UPS 实际上是一个容量要大得多的系统电池,与笔记本电脑电池不同。
注意:对于连接到 COM 端口的 UPS 单元,编写 UPS 微型驱动程序时,最好在 Windows Vista 之前为操作系统编写电池微型类驱动程序。
组件角色
如图所示,每个组件在电池操作中的角色如下所示:
总线驱动程序和可选筛选器驱动程序:在设备与其微型类驱动程序之间分层。
电池微型类驱动程序:特定类型的电池或 UPS 设备的函数驱动程序。
复合电池驱动程序:跟踪系统中所有电池的状态,并充当电源管理器和电池类/微型类驱动程序之间的中介。 复合电池驱动程序会从电源管理器接收 IRP,并在电池状态发生变化(例如,当系统电池电量严重不足时)时通知电源管理器。 复合电池驱动程序与电池类驱动程序的交互方式与电池微型类驱动程序的交互方式大致相同,但对其他微型类驱动程序而言是透明的。 系统有一个复合电池驱动程序,由 Microsoft 提供。
电池类驱动程序:支持所有电池微型类驱动程序和复合电池驱动程序。 系统有一个电池类驱动程序,由 Microsoft 提供。
电源管理器:通过复合电池驱动程序将电源和即插即用 (PnP) IRP 发送到电池设备堆栈。 电源管理器不直接与电池类或微型类驱动程序交互;所有 IRP 都通过复合电池驱动程序发送。
电池 GUI:通过电源管理器从复合电池驱动程序获取系统电池状态,并将信息呈现给用户。 GUI 还会将 IRP 发送到电池微型类驱动程序,以获取特定于设备的信息。 系统有一个电池 GUI,由硬件供应商提供。