GetDevicePowerState, fonction (winbase.h)
Récupère l’état d’alimentation actuel de l’appareil spécifié. Cette fonction ne peut pas être utilisée pour interroger l’état d’alimentation d’un périphérique d’affichage.
Syntaxe
BOOL GetDevicePowerState(
[in] HANDLE hDevice,
[out] BOOL *pfOn
);
Paramètres
[in] hDevice
Handle vers un objet sur l’appareil, tel qu’un fichier ou un socket, ou un handle pour l’appareil lui-même.
[out] pfOn
Pointeur vers la variable qui reçoit l’état d’alimentation. Cette valeur est TRUE si l’appareil est dans l’état de fonctionnement. Sinon, elle est FALSE.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro.
Remarques
Une application peut utiliser GetDevicePowerState pour déterminer si un appareil est à l’état opérationnel ou à faible consommation d’énergie. Si l’appareil est dans un état de faible consommation, l’accès à l’appareil peut entraîner la mise en file d’attente ou l’échec des demandes d’E/S, ou faire passer l’appareil à l’état opérationnel. Le comportement exact dépend de l’implémentation de l’appareil.
Pour garantir une autonomie maximale de la batterie sur un ordinateur portable, utilisez GetDevicePowerState pour réduire la consommation d’énergie. Par exemple, si un disque est actuellement hors tension, l’accès au disque entraîne sa rotation, ce qui augmente la consommation d’énergie et réduit l’autonomie de la batterie.
Les applications doivent différer ou limiter l’accès aux appareils dans la mesure du possible pendant que le système fonctionne sur batterie. Pour déterminer si le système fonctionne sur batterie et l’autonomie restante de la batterie, utilisez la fonction GetSystemPowerStatus .
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winbase.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |