estructura de BATTERY_WAIT_STATUS
Contiene información sobre las condiciones en las que se va a recuperar el estado de la batería. El código de control IOCTL_BATTERY_QUERY_STATUS usa esta estructura.
Sintaxis
typedef struct _BATTERY_WAIT_STATUS {
ULONG BatteryTag;
ULONG Timeout;
ULONG PowerState;
ULONG LowCapacity;
ULONG HighCapacity;
} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;
Miembros
-
BatteryTag
-
La etiqueta de batería actual para la batería. Solo se puede devolver la información de una batería que coincida con la etiqueta. Siempre que este valor no coincida con la etiqueta actual de la batería, la operación DeviceIoControl producirá un error con un código de error de ERROR_FILE_NOT_FOUND, lo que indica al autor de la llamada que la batería para la que tiene una etiqueta ya no está instalada El autor de la llamada puede optar por usar la operación de IOCTL_BATTERY_QUERY_TAG para determinar la etiqueta de la batería recién instalada, si existe. Además, si la solicitud está en curso cuando se quita la batería o cambia la etiqueta, la operación se anula con el estado de ERROR_FILE_NOT_FOUND. (Consulte Etiquetas de batería para obtener más información).
-
Tiempo de espera
-
El número de milisegundos que la solicitud esperará a la condición especificada por los miembros powerState, LowCapacity y HighCapacity antes de completarse. Un valor de -1 indica que la solicitud esperará indefinidamente para que se cumplan las condiciones. Un valor de cero indica que la información solicitada de la batería se devolverá inmediatamente, independientemente de las demás condiciones. Cualquier otro valor indica que la solicitud debe esperar ese período de tiempo o hasta que se cumpla alguna de las otras condiciones.
Si el equipo ha entrado en modo de suspensión, el reloj seguirá ejecutándose, pero agotar el recuento no reactivará el equipo. Si el recuento se agota cuando el equipo está activado y se cumplen otras condiciones, la llamada volverá inmediatamente al despertar.
-
PowerState
-
Cero, uno o varios de los siguientes bits de estado, que indican el estado de la batería. Es idéntico al miembro PowerState de la estructura BATTERY_STATUS .
Valor Significado - BATTERY_CHARGING
- 0x00000004
Indica que la batería está cargando actualmente. - BATTERY_CRITICAL
- 0x00000008
Indica que el error de la batería es inminente. Vea la sección Comentarios para obtener más información. - BATTERY_DISCHARGING
- 0x00000002
Indica que la batería está descargando actualmente. - BATTERY_POWER_ON_LINE
- 0x00000001
Indica que la batería tiene acceso a la alimentación de CA. -
LowCapacity
-
La capacidad actual de la batería, en mWh (o relativa). Este valor es idéntico al miembro Capacity de la estructura BATTERY_STATUS .
-
HighCapacity
-
La capacidad actual de la batería, en mWh (o relativa). Este valor es idéntico al miembro Capacity de la estructura BATTERY_STATUS .
Comentarios
Las solicitudes de información de batería se posponen hasta que se produzca una de las siguientes acciones:
- El tiempo de espera expira (suponiendo que el tiempo de espera no es -1).
- El estado actual de la batería no coincide con PowerState.
- La capacidad de la batería está por debajo de LowCapacity.
- La capacidad de la batería está por encima de HighCapacity.
- La etiqueta de batería cambia.
Cuando se cumple alguna de estas condiciones, los datos se recopilan y la operación devuelve. Esto permite a las aplicaciones supervisar la información típica de la batería dinámica sin sondear el dispositivo.
Antes de usar cualquiera de las dos condiciones de capacidad, asegúrese de que la batería las admite mediante el código de control IOCTL_BATTERY_QUERY_STATUS con un tiempo de espera de cero. Examine los resultados para determinar si se admite el miembro Capacity (es decir, no BATTERY_UNKNOWN_CAPACITY).
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado |
|