电池类和微型类驱动程序的交互
电池类和微型类驱动程序协同工作,以管理计算机的电池使用情况。 下图阐释其交互。
微型类驱动程序充当所控制的设备的主要函数驱动程序。 它通过复合电池驱动程序从电源管理器接收输入/输出请求数据包 (IRP),并调用电池类驱动程序中的支持例程,以注册其设备、报告状态和处理某些系统定义的电池 IOCTL。
类驱动程序从所有微型类驱动程序中收集信息和状态,并通过复合电池驱动程序将其报告给电源管理器。 为了响应电池 IOCTL,类驱动程序会调用微型类驱动程序例程(BatteryMiniXxx 例程)在微型类驱动程序中执行特定的设备控制操作。 此外,像电表这样的应用程序可以向微型类驱动程序发送 IRP_MJ_DEVICE_CONTROL 请求,以获取有关特定电池的信息。
该类驱动程序旨在处理各种电池信息和条件,可管理温度、容量变化等。 但是,各个电池的检测和报告功能各不相同。 每个微型类驱动程序都应进行定制,以管理其特定的电池类型,并且当系统要求提供任何不受支持的信息时,必须适当地响应类驱动程序。