Compartir a través de


estructura de BATTERY_QUERY_INFORMATION

Contiene información de consulta de batería. Esta estructura se usa con el código de control IOCTL_BATTERY_QUERY_INFORMATION para especificar el tipo de información que se va a devolver.

Sintaxis

typedef struct _BATTERY_QUERY_INFORMATION {
  ULONG                           BatteryTag;
  BATTERY_QUERY_INFORMATION_LEVEL InformationLevel;
  LONG                            AtRate;
} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;

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 solicitud IOCTL se completará con ERROR_FILE_NOT_FOUND. Esto indica al autor de la llamada que la batería asociada a la etiqueta ya existe. 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. (Consulte Etiquetas de batería para obtener más información).

Cuando se realiza una solicitud de información de consulta, se comprueba este valor. Además, si la solicitud está en curso mientras este valor cambia, la solicitud se anula con el estado de ERROR_FILE_NOT_FOUND.

InformationLevel

Nivel de la información de la batería que se consulta. Los datos devueltos por el IOCTL dependen de este valor. Este miembro puede ser uno de los siguientes valores.

Valor Significado
BatteryDeviceName
4
Cadena Unicode terminada en null que contiene el nombre de la batería.
BatteryEstimatedTime
3
ULONG que especifica el tiempo de ejecución estimado de la batería, en segundos. Si la tasa de purga proporcionada en el miembro AtRate de la estructura BATTERY_QUERY_INFORMATION es cero, este cálculo se basa en la tasa actual de purga. Si AtRate no es cero, el tiempo devuelto es el tiempo de ejecución esperado para la velocidad especificada. Si se desconoce el tiempo estimado (por ejemplo, la batería no se descarga y el AtRate especificado era cero), el valor devuelto es BATTERY_UNKNOWN_TIME. Tenga en cuenta que este valor no es muy preciso en algunos sistemas de batería y puede variar ampliamente en función del uso de energía presente, lo que podría verse afectado por la actividad del disco y otros factores. No hay ningún mecanismo de notificación para los cambios en este valor.
BatteryGranularityInformation
1
Matriz de estructuras de BATTERY_REPORTING_SCALE , nunca más de cuatro entradas.
BatteryInformation
0
Estructura BATTERY_INFORMATION .
BatteryManufactureDate
5
Estructura BATTERY_MANUFACTURE_DATE .
BatteryManufactureName
6
Cadena Unicode terminada en NULL que especifica el nombre del fabricante de la batería.
BatterySerialNumber
8
Cadena Unicode terminada en null que especifica el número de serie de la batería.
BatteryTemperature
2
ULONG que especifica la temperatura actual de la batería, en 10ths de un grado Kelvin.
BatteryUniqueID
7
Cadena Unicode terminada en null que identifica de forma única la batería. Este valor se puede usar para realizar un seguimiento de una batería específica. En el caso de las baterías inteligentes, este identificador sería la concatenación del nombre del fabricante, el nombre del dispositivo, la fecha de fabricación y una representación imprimible del número de serie.
Este valor no está pensado para mostrarse al usuario.

AtRate

Este miembro solo se usa si InformationLevel es BatteryEstimatedTime.

Si este miembro es distinto de cero, es una velocidad de purga que se usará para calcular el tiempo hasta que se descargue la batería para batteryEstimatedTime de una batería individual. Debe especificarse en mW y debe ser un valor negativo para representar una velocidad de descarga de batería.

Comentarios

Parte de la información sobre las baterías es opcional o puede no tener sentido para algunas baterías. Si el tipo determinado de datos solicitado no está disponible para la batería actual, se devuelve ERROR_INVALID_FUNCTION.

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

Consulte también

BATTERY_INFORMATION

BATTERY_MANUFACTURE_DATE

BATTERY_REPORTING_SCALE

IOCTL_BATTERY_QUERY_INFORMATION

IOCTL_BATTERY_QUERY_TAG