Partager via


structure BATTERY_QUERY_INFORMATION

Contient des informations de requête sur la batterie. Cette structure est utilisée avec le code de contrôle IOCTL_BATTERY_QUERY_INFORMATION pour spécifier le type d’informations à retourner.

Syntaxe

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

Membres

BatteryTag

Étiquette de batterie actuelle pour la batterie. Seules les informations relatives à une batterie correspondant à l’étiquette peuvent être retournées. Chaque fois que cette valeur ne correspond pas à la balise actuelle de la batterie, la demande IOCTL est effectuée avec ERROR_FILE_NOT_FOUND. Cela indique à l’appelant que la batterie associée à la balise existe plus longtemps. L’appelant peut choisir d’utiliser l’opération IOCTL_BATTERY_QUERY_TAG pour déterminer la balise de la batterie nouvellement installée, le cas échéant. (Pour plus d’informations, consultez Étiquettes de batterie .)

Lorsqu’une demande d’informations de requête est effectuée, cette valeur est vérifiée. En outre, si la requête est en cours alors que cette valeur change, la requête est abandonnée avec le status de ERROR_FILE_NOT_FOUND.

InformationLevel

Niveau des informations sur la batterie interrogées. Les données retournées par IOCTL dépendent de cette valeur. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
BatteryDeviceName
4
Chaîne Unicode terminée par null qui contient le nom de la batterie.
BatteryEstimatedTime
3
ULONG qui spécifie la durée d’exécution estimée de la batterie, en secondes. Si le taux de drainage fourni dans le membre AtRate de la structure BATTERY_QUERY_INFORMATION est égal à zéro, ce calcul est basé sur le taux actuel de drain. Si AtRate est différent de zéro, l’heure retournée correspond à l’heure d’exécution attendue pour le taux donné. Si le temps estimé est inconnu (par exemple, la batterie ne se décharge pas et que l’AtRate spécifié était égal à zéro), la valeur de retour est BATTERY_UNKNOWN_TIME. Notez que cette valeur n’est pas très précise sur certains systèmes de batterie et peut varier considérablement en fonction de la consommation d’énergie actuelle, ce qui peut être affecté par l’activité du disque et d’autres facteurs. Il n’existe aucun mécanisme de notification pour les modifications apportées à cette valeur.
BatteryGranularityInformation
1
Tableau de structures BATTERY_REPORTING_SCALE , jamais plus de quatre entrées.
BatteryInformation
0
Structure BATTERY_INFORMATION .
BatteryManufactureDate
5
Structure BATTERY_MANUFACTURE_DATE .
BatteryManufactureName
6
Chaîne Unicode terminée par null qui spécifie le nom du fabricant de la batterie.
BatterySerialNumber
8
Chaîne Unicode terminée par null qui spécifie le numéro de série de la batterie.
BatteryTemperature
2
ULONG qui spécifie la température actuelle de la batterie, en 10e degré Kelvin.
BatteryUniqueID
7
Chaîne Unicode terminée par null qui identifie de manière unique la batterie. Cette valeur peut être utilisée pour suivre une batterie spécifique. Dans le cas des batteries intelligentes, cet ID correspond à la concaténation du nom du fabricant, au nom de l’appareil, à la date de fabrication et à une représentation imprimable du numéro de série.
Cette valeur n’est pas destinée à être affichée à l’utilisateur.

AtRate

Ce membre est utilisé uniquement si InformationLevel est BatteryEstimatedTime.

Si ce membre n’est pas nul, il s’agit d’un taux de vidange qui sera utilisé pour calculer le temps jusqu’à ce que la batterie soit déchargée pour le BatteryEstimatedTime d’une batterie individuelle. Il doit être spécifié en mW et doit être une valeur négative pour représenter un taux de décharge de la batterie.

Notes

Certaines informations sur les piles sont facultatives ou peuvent ne pas avoir de sens pour certaines batteries. Si le type de données demandé n’est pas disponible pour la batterie actuelle, ERROR_INVALID_FUNCTION est retourné.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
Poclass.h;
Batclass.h sur Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP

Voir aussi

BATTERY_INFORMATION

BATTERY_MANUFACTURE_DATE

BATTERY_REPORTING_SCALE

IOCTL_BATTERY_QUERY_INFORMATION

IOCTL_BATTERY_QUERY_TAG