Поделиться через


Управление состояниями производительности устройств

Windows Vista предоставляет расширенную инфраструктуру управления питанием, которая позволяет стекам драйверов лучше управлять политикой питания своих устройств. Драйверы могут регистрироваться, чтобы получать уведомления при изменении системных параметров питания или при возникновении системных событий питания. Владелец политики питания устройства может использовать эти уведомления, чтобы соответствующим образом настроить использование энергии своих устройств. Кроме того, можно создать пользовательские параметры питания, обеспечивающие доступ к функциям питания и производительности для конкретного устройства, которые могут быть тесно интегрированы в системную политику питания. Ниже приведены два основных подхода для интеграции состояний производительности устройства и поведения экономии энергии с системной политикой питания.

Создание пользовательских параметров питания для устройства

Регистрация для уведомления об изменении активной схемы питания, личности схемы питания или источника питания

Создание пользовательских параметров питания для устройства

Можно определить настраиваемые параметры питания, которые можно использовать для настройки состояний производительности устройства или поведения экономии питания. Сведения о пользовательских параметрах питания сохраняются и управляются диспетчером питания. Другие компоненты в системе , такие как драйверы устройств, службы или приложения, могут регистрироваться, чтобы получать уведомления при изменении значения настраиваемого параметра питания. Как правило, устройства, имеющие возможность компромисса с производительностью питания, должны иметь соответствующие настраиваемые параметры питания. Создание пользовательских параметров питания — это наиболее гибкий подход для тесной интеграции потребления электроэнергии с системной политикой питания и предоставляет следующие дополнительные преимущества:

  • Пользовательский пользовательский интерфейс не требуется, чтобы пользовательские параметры питания были доступны пользователю. Все параметры питания, включая пользовательские параметры питания, представлены пользователю на странице "Дополнительные параметры " панели управления "Параметры питания ".

  • Пользователи и системные администраторы могут легко создавать сценарии настройки пользовательских параметров питания с помощью Powercfg.exe, средства командной строки управления питанием.

  • При необходимости системный администратор может создать административный шаблон (. ADM) файл, обеспечивающий настройку новых параметров питания на основе групповой политики.

Отдельный параметр питания содержит все сведения, необходимые для уникальной идентификации, имени, описания и предоставления значений для параметра питания. Каждый параметр питания определяется с помощью GUID, имени параметра, описания и параметров по умолчанию для схем питания ac и DC. Настраиваемый параметр питания можно создавать статически для устройства, используя директиву INF AddPowerSetting или динамически вызывая функции управления питанием Win32, включенные в справочник по управлению питанием, предоставляемый документацией по пакету SDK для Microsoft Windows.

Драйверы вызывают PoRegisterPowerSettingCallback , чтобы зарегистрировать подпрограмму обратного вызова, которую диспетчер питания вызывает для уведомления драйвера об изменении параметра питания. При изменении параметра диспетчер питания вызывает подпрограмму обратного вызова и передает новое значение параметра. Затем драйверы могут предпринять действия, соответствующие параметру питания. Каждый параметр определяется идентификатором GUID параметра питания. Определяемые системой идентификаторы GUID для параметров питания определяются в Wdm.h и Ntpoapi.h.

Например, чтобы получать уведомления о включении или отключении питания монитора, драйвер вызывает PoRegisterPowerSettingCallback, предоставляя GUID, определяющий параметр питания монитора (GUID_MONITOR_POWER_ON) и указатель на подпрограмму обратного вызова, вызываемую диспетчером питания при изменении значения параметра питания монитора.

Регистрация для уведомления об изменении активной схемы питания, личности схемы питания или источника питания

Характер активной схемы питания отражает намерение пользователя относительно общей экономии энергии системы. Каждая схема питания, включая пользовательские, имеет характеристику, которая намечает общее намерение схемы. Это позволяет создавать дополнительные пользовательские схемы питания, предоставляя все преимущества понимания цели схемы. Windows Vista включает следующие три системные схемы питания и соответствующие им характеристики.

Максимальная экономия энергии
Снижает производительность для минимизации потребления электроэнергии.

Автоматическое (сбалансированное)
Позволяет системе выбрать лучший уровень состояния питания на основе общего потребления энергии.

Максимальная производительность
Обеспечивает максимальную производительность независимо от потребления электроэнергии.

Источник питания может быть либо источником переменного тока, либо источником постоянного тока.

Владелец политики питания устройства может использовать сведения о активной схеме питания, личности схемы питания и источнике питания для настройки политики питания устройства. Например, владелец политики питания устройства может агрессивно отключить устройство, если личность схемы питания изменится на максимальную экономию энергии. Однако если тип схемы питания изменится на максимальную производительность, владелец политики питания устройства может поддерживать уровень производительности своих устройств вместо снижения энергопотребления и, возможно, оставить устройство включенным на постоянной основе, чтобы обеспечить высочайший уровень производительности.

Драйвер может зарегистрировать уведомление, когда происходит изменение активной схемы питания, личности схемы питания или источника питания. Драйвер вызывает PoRegisterPowerSettingCallback , чтобы зарегистрировать подпрограмму обратного вызова, которую диспетчер питания вызывает для уведомления драйвера об этом изменении, как показано ниже.

  • Чтобы зарегистрировать уведомление об изменении активной схемы питания, укажите GUID, представляющий параметр схемы питания (GUID_ACTIVE_POWERSCHEME). Затем диспетчер питания будет вызывать подпрограмму обратного вызова всякий раз, когда активная схема питания изменяется, даже если характеристики новой схемы питания совпадают с предыдущей схемой питания.

  • Чтобы зарегистрировать уведомление об изменении характеристики схемы питания, укажите GUID, представляющий настройку для характеристики схемы питания (GUID_POWERSCHEME_PERSONALITY). Затем диспетчер питания будет вызывать коллбэк каждый раз, когда активная схема питания изменяется, и характеристика новой схемы питания отличается от характеристики предыдущей схемы питания.

  • Чтобы зарегистрировать уведомление об изменении источника питания, укажите GUID, представляющий параметр для источника питания (GUID_ACDC_POWER_SOURCE). Затем диспетчер питания вызовет подпрограмму обратного вызова всякий раз, когда изменяется параметр источника питания.

При изменении активной схемы питания или изменения личности схемы питания диспетчер питания вызывает подпрограмму обратного вызова и передает GUID, представляющий новую схему питания или личность схемы питания. Затем драйверы могут предпринять действия, соответствующие изменению.

Параметры активной схемы питания и параметры личности схемы питания используют следующие идентификаторы GUID для идентификации соответствующих значений:

  • GUID_MAX_POWER_SAVINGS, который соответствует схеме максимальной экономии энергии и соответствующему профилю.

  • GUID_MIN_POWER_SAVINGS, который соответствует схеме энергопотребления максимальной производительности и её соответствующим характеристикам.

  • GUID_TYPICAL_POWER_SAVINGS, которая соответствует автоматической (сбалансированной) схеме энергосбережения и её соответствующей характеристике.

При изменении источника питания диспетчер питания вызывает подпрограмму обратного вызова и передает GUID, представляющий параметр источника питания, и значение параметра источника питания, указывающее, работает ли компьютер с помощью источника питания переменного тока, источника питания на постоянном токе или краткосрочного источника постоянного тока.