Функция GetDevicePowerState (winbase.h)
Извлекает текущее состояние питания указанного устройства. Эту функцию нельзя использовать для запроса состояния питания устройства отображения.
Синтаксис
BOOL GetDevicePowerState(
[in] HANDLE hDevice,
[out] BOOL *pfOn
);
Параметры
[in] hDevice
Дескриптор объекта на устройстве, например файла или сокета, или дескриптор самого устройства.
[out] pfOn
Указатель на переменную, получающую состояние питания. Это значение равно TRUE , если устройство находится в рабочем состоянии. В противном случае — FALSE.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение.
Комментарии
Приложение может использовать GetDevicePowerState , чтобы определить, находится ли устройство в рабочем состоянии или состоянии с низким энергопотреблением. Если устройство находится в состоянии с низким энергопотреблением, доступ к устройству может привести к тому, что оно будет помещено в очередь или завершится сбоем любых запросов ввода-вывода или переключит устройство в рабочее состояние. Точное поведение зависит от реализации устройства.
Чтобы обеспечить максимальное время работы батареи на ноутбуке, используйте GetDevicePowerState для снижения энергопотребления. Например, если диск в данный момент отключен, доступ к диску приведет к его выключению, что приведет к увеличению энергопотребления и сокращению времени работы батареи.
Приложения должны откладывать или ограничивать доступ к устройствам везде, где это возможно, пока система работает от батареи. Чтобы определить, работает ли система от батареи и оставшееся время работы батареи, используйте функцию GetSystemPowerStatus .
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |