BATTERY _ WAIT _ STATUS-Struktur

Enthält Informationen zu den Bedingungen, unter denen der Akkustatus abgerufen werden soll. Diese Struktur wird vom IOCTL _ BATTERY QUERY _ _ STATUS-Steuerelementcode verwendet.

Syntax

typedef struct _BATTERY_WAIT_STATUS {
  ULONG BatteryTag;
  ULONG Timeout;
  ULONG PowerState;
  ULONG LowCapacity;
  ULONG HighCapacity;
} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;

Member

BatteryTag

Das aktuelle Akkutag für den Akku. Es können nur Informationen für einen Akku zurückgegeben werden, der dem Tag entspricht. Wenn dieser Wert nicht mit dem aktuellen Tag des Akkus übereinstimmt, schlägt der DeviceIoControl-Vorgang mit dem Fehlercode ERROR _ FILE NOT FOUND _ _ fehl. Dieser gibt dem Aufrufer an, dass der Akku, für den er ein Tag besitzt, nicht mehr installiert ist. Der Aufrufer kann den IOCTL _ BATTERY QUERY _ _ TAG-Vorgang verwenden, um ggf. das Tag des neu installierten Akkus zu bestimmen. Wenn die Anforderung ausgeführt wird, wenn der Akku entfernt wird oder sich das Tag ändert, wird der Vorgang mit dem Status _ FEHLERDATEI _ NICHT GEFUNDEN _ abgebrochen. (Weitere Informationen finden Sie unter Akkutags.)

Timeout

Die Anzahl von Millisekunden, die die Anforderung auf die von den Membern PowerState, LowCapacity und HighCapacity angegebene Bedingung wartet, bevor sie abgeschlossen wird. Der Wert -1 gibt an, dass die Anforderung unbegrenzt wartet, bis die Bedingungen erfüllt sind. Der Wert 0 gibt an, dass die angeforderten Akkuinformationen unabhängig von den anderen Bedingungen sofort zurückgegeben werden sollen. Jeder andere Wert gibt an, dass die Anforderung diese Zeitspanne oder eine der anderen Bedingungen warten soll.

Wenn der Computer in den Standbymodus versetzt wurde, wird die Uhr weiterhin ausgeführt, aber wenn die Anzahl erschöpft ist, wird der Computer nicht aktiviert. Wenn die Anzahl erschöpft ist, wenn der Computer aufgeweckt wird und andere Bedingungen erfüllt sind, wird der Aufruf sofort beim Aufwachen zurückgegeben.

PowerState

Null, ein oder mehrere der folgenden Statusbits, die den Zustand des Akkus angeben. Er ist identisch mit dem PowerState-Member der BATTERY _ STATUS-Struktur.

Wert Bedeutung
BATTERY _
ABRECHNUNGs-0x00000004
Gibt an, dass der Akku gerade geladen wird.
BATTERY _ CRITICAL
0x00000008
Gibt an, dass ein Akkuausfall bevorsteht. Weitere Informationen finden Sie im Abschnitt Hinweise.
BATTERY _ DISCHARGING
0x00000002
Gibt an, dass der Akku gerade entladen wird.
BATTERY _ POWER _ ON _ LINE
0x00000001
Gibt an, dass der Akku Zugriff auf die Stromversorgung hat.

LowCapacity

Die aktuelle Akkukapazität in mWh (oder relativ). Dieser Wert ist identisch mit dem Capacity-Member der BATTERY _ STATUS-Struktur.

HighCapacity

Die aktuelle Akkukapazität in mWh (oder relativ). Dieser Wert ist identisch mit dem Capacity-Member der BATTERY _ STATUS-Struktur.

Hinweise

Anforderungen für Akkuinformationen werden verschoben, bis eine der folgenden Vorgänge eintritt:

  • Das Timeout läuft ab (vorausgesetzt, timeout ist nicht -1).
  • Der aktuelle Status des Akkus stimmt nicht mit PowerState überein.
  • Die Kapazität des Akkus liegt unterHalb von LowCapacity.
  • Die Kapazität des Akkus liegt oberhalb von HighCapacity.
  • Das Akkutag ändert sich.

Wenn eine dieser Bedingungen erfüllt ist, werden die Daten gesammelt, und der Vorgang wird zurückgegeben. Dadurch können Anwendungen typische dynamische Akkuinformationen überwachen, ohne das Gerät abzufragen.

Bevor Sie eine der beiden Kapazitätsbedingungen verwenden, stellen Sie sicher, dass der Akku sie unterstützt, indem Sie den IOCTL _ BATTERY _ QUERY STATUS-Steuerungscode _ mit einem Time out von 0 (null) verwenden. Überprüfen Sie die Ergebnisse, um zu bestimmen, ob das Capacity-Element unterstützt wird (d. b. nicht BATTERY _ UNKNOWN _ CAPACITY).

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows [Nur XP-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2003-Desktop-Apps]
Header
Poclass.h;
Batclass.h auf Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP

Weitere Informationen

_AKKUSTATUS

IOCTL _ BATTERY _ QUERY _ STATUS

IOCTL _ BATTERY _ QUERY _ TAG