BATTERY_WAIT_STATUS structure
Contient des informations sur les conditions dans lesquelles la batterie status doit être récupérée. Cette structure est utilisée par le code de contrôle IOCTL_BATTERY_QUERY_STATUS .
Syntaxe
typedef struct _BATTERY_WAIT_STATUS {
ULONG BatteryTag;
ULONG Timeout;
ULONG PowerState;
ULONG LowCapacity;
ULONG HighCapacity;
} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;
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, l’opération DeviceIoControl échoue avec un code d’erreur ERROR_FILE_NOT_FOUND, qui indique à l’appelant que la batterie pour laquelle il a une balise n’est plus installée. 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. En outre, si la demande est en cours lorsque la batterie est supprimée ou que la balise change, l’opération est abandonnée avec la status de ERROR_FILE_NOT_FOUND. (Pour plus d’informations, consultez Étiquettes de batterie .)
-
Délai d'expiration
-
Nombre de millisecondes pendant lesquelles la demande attend la condition spécifiée par les membres PowerState, LowCapacity et HighCapacity avant de terminer. La valeur -1 indique que la demande attendra indéfiniment que les conditions soient remplies. La valeur zéro indique que les informations de batterie demandées doivent être retournées immédiatement, quelles que soient les autres conditions. Toute autre valeur indique que la demande doit attendre cette durée, ou jusqu’à ce que l’une des autres conditions soit remplie.
Si l’ordinateur est entré en mode veille, l’horloge continue de s’exécuter, mais l’épuisement du nombre ne réveille pas l’ordinateur. Si le décompte est épuisé lorsque l’ordinateur est réveillé et que d’autres conditions sont remplies, l’appel revient immédiatement au réveil.
-
PowerState
-
Zéro, un ou plusieurs des bits status suivants, qui indiquent l’état de la batterie. Il est identique au membre PowerState de la structure BATTERY_STATUS .
Valeur Signification - BATTERY_CHARGING
- 0x00000004
Indique que la batterie est en cours de chargement. - BATTERY_CRITICAL
- 0x00000008
Indique que la défaillance de la batterie est imminente. Pour plus d'informations, consultez la section Notes. - BATTERY_DISCHARGING
- 0x00000002
Indique que la batterie est en cours de décharge. - BATTERY_POWER_ON_LINE
- 0x00000001
Indique que la batterie a accès à l’alimentation secteur. -
Faible capacité
-
Capacité actuelle de la batterie, en mWh (ou relative). Cette valeur est identique au membre Capacity de la structure BATTERY_STATUS .
-
HighCapacity
-
Capacité actuelle de la batterie, en mWh (ou relative). Cette valeur est identique au membre Capacity de la structure BATTERY_STATUS .
Notes
Les demandes d’informations sur la batterie sont reportées jusqu’à ce que l’une des opérations suivantes se produise :
- Le délai d’expiration expire (en supposant que le délai d’expiration n’est pas -1).
- Le status actuel de la batterie ne correspond pas à PowerState.
- La capacité de la batterie est inférieure à LowCapacity.
- La capacité de la batterie est supérieure à HighCapacity.
- La balise de batterie change.
Lorsque l’une de ces conditions est remplie, les données sont collectées et l’opération est retournée. Cela permet aux applications de surveiller les informations de batterie dynamiques classiques sans interroger l’appareil.
Avant d’utiliser l’une des deux conditions de capacité, assurez-vous que la batterie les prend en charge en utilisant le code de contrôle IOCTL_BATTERY_QUERY_STATUS avec un délai d’expiration de zéro. Examinez les résultats pour déterminer si le membre Capacity est pris en charge (c’est-à-dire, pas BATTERY_UNKNOWN_CAPACITY).
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 |
|