BATTERY_WAIT_STATUS Struktur
Enthält Informationen zu den Bedingungen, unter denen der Akku status 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, der dem Aufrufer angibt, dass der Akku, für den ein Tag vorhanden ist, nicht mehr installiert ist. Der Aufrufer kann den IOCTL_BATTERY_QUERY_TAG-Vorgang verwenden, um das Tag des neu installierten Akkus zu bestimmen. falls vorhanden. Wenn die Anforderung ausgeführt wird, wenn der Akku entfernt wird oder sich das Tag ändert, wird der Vorgang mit dem status von ERROR_FILE_NOT_FOUND abgebrochen. (Weitere Informationen finden Sie unter Akkutags .)
-
Timeout
-
Die Anzahl der Millisekunden, die die Anforderung auf die Bedingung wartet, die von den Elementen PowerState, LowCapacity und HighCapacity angegeben wird, bevor sie abgeschlossen werden. Der Wert -1 gibt an, dass die Anforderung unbegrenzt auf die Erfüllung der Bedingungen wartet. 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 Zeit warten oder bis eine der anderen Bedingungen erfüllt ist.
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 aktiviert ist, und andere Bedingungen erfüllt sind, wird der Aufruf sofort nach dem Erwachen zurückgegeben.
-
PowerState
-
Null, ein oder mehrere der folgenden status Bits, die den Zustand des Akkus angeben. Es ist identisch mit dem PowerState-Member der BATTERY_STATUS-Struktur .
Wert Bedeutung - BATTERY_CHARGING
- 0x00000004
Gibt an, dass der Akku gerade aufgeladen wird. - BATTERY_CRITICAL
- 0x00000008
Gibt an, dass ein Akkuausfall unmittelbar 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 Netzstrom hat. -
LowCapacity
-
Die aktuelle Akkukapazität in mWh (oder relativ). Dieser Wert ist identisch mit dem Capacity-Member der BATTERY_STATUS-Struktur .
-
Hohe Kapazität
-
Die aktuelle Akkukapazität in mWh (oder relativ). Dieser Wert ist identisch mit dem Capacity-Member der BATTERY_STATUS-Struktur .
Bemerkungen
Anforderungen für Batterieinformationen werden verschoben, bis eine der folgenden Punkte auftritt:
- 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 unter LowCapacity.
- Die Kapazität des Akkus liegt über 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 Steuercode mit einem Timeout von null verwenden. Untersuchen Sie die Ergebnisse, um zu ermitteln, ob der Capacity-Member unterstützt wird (d. a. nicht BATTERY_UNKNOWN_CAPACITY).
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Header |
|