Share via


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
Poclass.h;
Batclass.h unter Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP

Siehe auch

BATTERY_STATUS

IOCTL_BATTERY_QUERY_STATUS

IOCTL_BATTERY_QUERY_TAG