BATTERY_QUERY_INFORMATION-Struktur
Enthält Informationen zur Akkuabfrage. Diese Struktur wird mit dem IOCTL_BATTERY_QUERY_INFORMATION-Steuerelementcode verwendet, um den Typ der zurückzugebenden Informationen anzugeben.
Syntax
typedef struct _BATTERY_QUERY_INFORMATION {
ULONG BatteryTag;
BATTERY_QUERY_INFORMATION_LEVEL InformationLevel;
LONG AtRate;
} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;
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, wird die IOCTL-Anforderung mit ERROR_FILE_NOT_FOUND abgeschlossen. Dies gibt dem Aufrufer an, dass der dem Tag zugeordnete Akku länger vorhanden ist. Der Aufrufer kann den IOCTL_BATTERY_QUERY_TAG-Vorgang verwenden, um das Tag des neu installierten Akkus zu bestimmen, sofern vorhanden. (Weitere Informationen finden Sie unter Akkutags .)
Wenn eine Abfrageinformationsanforderung durchgeführt wird, wird dieser Wert überprüft. Wenn die Anforderung ausgeführt wird, während sich dieser Wert ändert, wird die Anforderung außerdem mit dem status ERROR_FILE_NOT_FOUND abgebrochen.
-
InformationLevel
-
Die Ebene der abgefragten Akkuinformationen. Die von der IOCTL zurückgegebenen Daten hängen von diesem Wert ab. Dieser Member kann einer der folgenden Werte sein.
Wert Bedeutung - BatteryDeviceName
- 4
Mit Null beendete Unicode-Zeichenfolge, die den Namen des Akkus enthält. - BatteryEstimatedTime
- 3
Eine ULONG , die die geschätzte Akkulaufzeit in Sekunden angibt. Wenn die im AtRate-Element der BATTERY_QUERY_INFORMATION-Struktur angegebene Entwässerungsrate null ist, basiert diese Berechnung auf der aktuellen Entwässerungsrate. Wenn AtRate ungleich null ist, entspricht die zurückgegebene Zeit der erwarteten Laufzeit für die angegebene Rate. Wenn die geschätzte Zeit unbekannt ist (z. B. wenn der Akku nicht entladen wird und der angegebene AtRate null war), wird der Rückgabewert BATTERY_UNKNOWN_TIME. Beachten Sie, dass dieser Wert für einige Akkusysteme nicht sehr genau ist und je nach derzeitigem Stromverbrauch stark variieren kann, was durch die Datenträgeraktivität und andere Faktoren beeinflusst werden kann. Es gibt keinen Benachrichtigungsmechanismus für Änderungen an diesem Wert. - BatteryGranularityInformation
- 1
Ein Array von BATTERY_REPORTING_SCALE Strukturen, nie mehr als vier Einträge. - BatteryInformation
- 0
Eine BATTERY_INFORMATION-Struktur . - BatteryManufactureDate
- 5
Eine BATTERY_MANUFACTURE_DATE-Struktur . - BatteryManufactureName
- 6
Mit Null endende Unicode-Zeichenfolge, die den Namen des Herstellers des Akkus angibt. - BatterySerialNumber
- 8
Unicode-Zeichenfolge mit Null-Termin, die die Seriennummer des Akkus angibt. - BatteryTemperature
- 2
Eine ULONG , die die aktuelle Temperatur des Akkus in 10. Grad Kelvin angibt. - BatteryUniqueID
- 7
Mit Null beendete Unicode-Zeichenfolge, die den Akku eindeutig identifiziert. Dieser Wert kann verwendet werden, um einen bestimmten Akku nachzuverfolgen. Bei intelligenten Akkus wäre diese ID die Verkettung des Herstellernamens, des Gerätenamens, des Herstellungsdatums und einer druckbaren Darstellung der Seriennummer.
Dieser Wert soll dem Benutzer nicht angezeigt werden. -
AtRate
-
Dieser Member wird nur verwendet, wenn InformationLevel den Wert BatteryEstimatedTime aufweist.
Wenn dieser Member ungleich null ist, wird eine Entlastungsrate verwendet, die verwendet wird, um die Zeit bis zum Entladen des Akkus für die BatteryEstimatedTime eines einzelnen Akkus zu berechnen. Es muss in mW angegeben werden und muss ein negativer Wert sein, um eine Akkuentladungsrate darzustellen.
Bemerkungen
Einige Informationen zu Batterien sind optional oder für einige Batterien bedeutungslos. Wenn der bestimmte typ der angeforderten Daten für den aktuellen Akku nicht verfügbar ist, wird ERROR_INVALID_FUNCTION zurückgegeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Header |
|