Supplying Required Battery Miniclass Driver Functionality

In addition to the routines required to support Plug and Play, a battery miniclass driver must have the following routines:

DriverEntry

AddDevice

DispatchDeviceControl

DispatchSystemControl

BatteryMiniQueryTag

BatteryMiniQueryStatus

BatteryMiniQueryInformation

BatteryMiniSetInformation

BatteryMiniSetStatusNotify

BatteryMiniDisableStatusNotify

Unload

DriverEntry, Unload, DispatchDeviceControl, and AddDevice are standard driver routines. The name DriverEntry is required, so that the operating system can call it upon starting the driver. You can choose names for the other driver routines at your discretion, as long as their addresses are loaded properly in the appropriate data structures.

The BatteryMiniXxx routines are supplied by the miniclass driver and called by the battery class driver. When writing a miniclass driver, you can choose not to implement the functionality of any of these routines; however, an entry point for the routine must nevertheless be provided, and the routine must return STATUS_NOT_SUPPORTED. Prototypes for these routines appear in Batclass.h.

Battery miniclass drivers must include the following header files:

  • Batclass.h

  • Ntddk.h or Wdm.h