Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для каждого устройства один (и только один) драйверов устройства должен быть владельцем политики питания устройства. Владелец политики питания определяет соответствующее состояние питания устройства для устройства и отправляет запросы в стек драйверов устройства всякий раз, когда состояние питания устройства должно измениться.
Драйверы на основе платформы не содержат код, который запрашивает изменения в состоянии питания устройства, так как платформа предоставляет этот код. По умолчанию, когда система переходит в режим сна, платформа просит драйвер шины вашего устройства снизить его состояние питания до D3. (Драйвер может изменить поведение по умолчанию, чтобы платформа установила состояние спящего режима устройства на D1 или D2, если устройство предоставляет возможности пробуждения.) Когда питание системы возвращается в рабочее состояние (S0), платформа запрашивает драйвер шины для восстановления устройства в его рабочем состоянии (D0).
Владелец политики питания также отвечает за включение и отключение следующих функций устройства:
Способность устройства входить в состояние низкой мощности (спящего) при простое, и система остается в рабочем состоянии (S0)
Возможность пробуждения устройства от спящего состояния при обнаружении внешнего события
Способность устройства проснуть всю систему из состояния спящего состояния системы при обнаружении внешнего события
Если устройство поддерживает эти функции простоя питания и системного пробуждения, ответственный за политику питания также может вызвать WdfDeviceInitSetPowerPolicyEventCallbacks, чтобы зарегистрировать набор функций обратного вызова событий политики питания.
По умолчанию для драйверов на основе платформы драйвер функции устройства является владельцем политики питания. (Если нет драйвера-функции и драйвер шины использовал WdfPdoInitAssignRawDevice, драйвер шины является владельцем политики энергоснабжения). Если вы хотите изменить владельца политики питания для стека драйверов, владелец политики питания по умолчанию должен вызвать WdfDeviceInitSetPowerPolicyOwnership , чтобы отключить владение, а драйвер, который будет владельцем политики питания, должен вызвать WdfDeviceInitSetPowerPolicyOwnership , чтобы включить владение.
Фреймворк выполняет следующую работу для владельца политики энергопотребления:
Он обрабатывает весь обмен данными о политике энергопотребления между вашим драйвером и остальной частью стека драйверов. Например, драйверу не нужно запрашивать драйвер шины для изменения состояния питания устройства, так как платформа выполняет запрос.
Если драйвер регистрирует функции обратного вызова для событий политики питания, платформа вызывает их, когда приходит время предоставить или отключить возможность устройства пробуждать себя из состояния пониженного энергопотребления.
Если драйвер позволяет пользователям изменять параметры простоя и пробуждения, фреймворк предоставляет пользовательский интерфейс в виде страницы свойств, которую отображает диспетчер устройств.
Дополнительные сведения об обязанностях владельца политики энергии см. в следующих темах: