Share via


BATTERY_INFORMATION structure

Battery miniclass drivers fill in this structure in response to certain BatteryMiniQueryInformation requests.

Syntax

typedef struct _BATTERY_INFORMATION {
  ULONG Capabilities;
  UCHAR Technology;
  UCHAR Reserved[3];
  UCHAR Chemistry[4];
  ULONG DesignedCapacity;
  ULONG FullChargedCapacity;
  ULONG DefaultAlert1;
  ULONG DefaultAlert2;
  ULONG CriticalBias;
  ULONG CycleCount;
} BATTERY_INFORMATION, *PBATTERY_INFORMATION;

Members

  • Capabilities
    Specify battery capabilities as a ULONG value encoded with one or more of the following flags:

    • BATTERY_SYSTEM_BATTERY
      Set this flag if the battery can provide general power to run the system.

    • BATTERY_CAPACITY_RELATIVE
      Set this flag if the miniclass driver will report battery capacity and rate as a percentage of total capacity and rate rather than as absolute values. Otherwise, the miniclass driver should report capacity in milliwatt-hours and rate in milliwatts.

    • BATTERY_IS_SHORT_TERM
      Set this flag if the battery is a UPS, intended for short-term, failsafe use. Clear the flag for any other type of device.

    • BATTERY_SET_CHARGE_SUPPORTED
      Set this flag if the miniclass driver supports the BatteryCharge setting in calls to BatteryMiniSetInformation.

    • BATTERY_SET_DISCHARGE_SUPPORTED
      Set this flag if the miniclass driver supports the BatteryDischarge setting in calls to BatteryMiniSetInformation.

  • Technology
    Specify zero for a primary, nonrechargeable battery, or one for a secondary, rechargeable battery.

  • Reserved
    Reserved for system use.

  • Chemistry
    Specify a four-character string indicating the type of chemistry used in the battery. Possible values include "PbAc" (Lead Acid), "LION" (Lithium Ion), "NiCd" (Nickel Cadmium), "NiMH" (Nickel Metal Hydride), "NiZn" (Nickel Zinc), and "RAM" (Rechargeable Alkaline-Manganese). Additional values might be returned as additional battery types become available.

  • DesignedCapacity
    Specify the theoretical capacity of the battery when new, in milliwatt-hours. If BATTERY_CAPACITY_RELATIVE is set, the units are undefined.

  • FullChargedCapacity
    Specify the battery's current fully charged capacity, in milliwatt-hours. If BATTERY_CAPACITY_RELATIVE is set, the units are undefined.

  • DefaultAlert1
    Specify the capacity (in milliwatt-hours) at which a low battery alert should occur.

  • DefaultAlert2
    Specify the capacity (in milliwatt-hours) at which a warning battery alert should occur.

  • CriticalBias
    Specify the amount (in milliwatt-hours) of any small reserved charge that remains when the critical battery level shows zero. Miniclass drivers should subtract this value from the battery's FullChargedCapacity and remaining capacity (reported in BATTERY_STATUS) before reporting those values.

  • CycleCount
    Specify the number of charge/discharge cycles the battery has experienced, or zero if the battery does not support a cycle counter.

Requirements

Header

Batclass.h (include Batclass.h)

See also

BatteryMiniQueryInformation

BatteryMiniQueryStatus

 

 

Send comments about this topic to Microsoft