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 |
|