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


Поддержка D3cold в драйвере

Начиная с Windows 8, состояние питания устройства D3 (off) делится на два отдельных подсостояния: D3hot и D3cold. D3 — это состояние питания устройства с самым низким энергопотреблением, а D3cold — подсостояние D3 с наименьшим энергопотреблением. Перемещение неактивных устройств в подсостояние D3cold может снизить энергопотребление и увеличить время работы мобильной аппаратной платформы от заряда батареи.

В D3hot устройство в основном отключено. Однако устройство не отключается от main источника питания, и контроллер родительской шины может обнаружить наличие устройства в шине. В D3cold источник питания main удаляется с устройства, и контроллер шины не может обнаружить наличие устройства. Дополнительные сведения см. в описании D3hot и D3cold в разделе Состояния Low-Power устройств.

В более ранних версиях Windows состояние питания устройства D3 неявно разделено на подгосудности D3hot и D3cold, но устройство не может войти в D3cold, если компьютер не готовится к выходу из состояния питания системы S0 и переходу в одно из спящих состояний, S1–S4. Маломощные состояния Dx, которые устройство может ввести, когда компьютер останется в S0, ограничены D1 по D3hot.

Windows 8 является первой версией Windows, поддерживающей переходы состояния питания устройства на подсостояние D3cold, когда компьютер находится в S0 и не готовится к переходу в спящий режим. Устройство, поддерживающее таким образом D3cold, помогает экономить электроэнергию следующими способами:

  • Устройство потребляет меньше энергии в D3cold, чем в любом другом состоянии Dx с низким энергопотреблением.
  • Если это устройство совместно использует шину с другими устройствами и все эти устройства поддерживают D3cold, то после того, как все устройства в шине войдут в D3cold, контроллер шины может перейти в состояние Dx с низким энергопотреблением.
  • Если это устройство совместно использует источник питания с другими устройствами и все эти устройства поддерживают D3cold, то, когда последнее из этих устройств входит в D3hot, источник питания можно удалить, после чего все эти устройства входят в D3cold в унисон.

И наоборот, устройство, которое не может бездействует в D3cold, может запретить другим устройствам входить в D3cold или другие маломощные состояния Dx.

В следующих разделах содержатся дополнительные сведения о поддержке D3cold в драйвере устройства.

В этом разделе

Раздел Описание
Включение переходов в D3cold Все версии Windows позволяют устройству находиться в режиме D3cold, пока компьютер находится в спящем режиме (в одном из системных состояний с низким энергопотреблением, S1–S4). Прежде чем компьютер выйдет из S0, драйверы функций, драйверы шины и драйверы фильтров работают вместе, чтобы переместить устройство в D3hot. Когда компьютер переходит в маломощное состояние Sx, этот переход имеет побочный эффект перемещения устройства из D3hot в D3cold.
Возможности D3cold устройства Прежде чем драйвер, который является владельцем политики питания (PPO) для устройства, позволит устройству ввести D3cold (когда компьютер должен оставаться в S0), драйвер должен убедиться, что устройство будет реагировать и продолжать работать правильно после того, как устройство перейдет в D3cold.
Использование интерфейса драйвера GUID_D3COLD_SUPPORT_INTERFACE Начиная с Windows 8, драйверы могут вызывать подпрограммы в интерфейсе D3COLD_SUPPORT_INTERFACE, чтобы определить возможности D3cold устройств и разрешить этим устройствам использовать D3cold. Две основные подпрограммы в этом интерфейсе: SetD3ColdSupport и GetIdleWakeInfo.
Неожиданное пробуждение Неожиданное пробуждение — это неожиданный переход на D0. Когда устройство входит в D3cold, оно может столкнуться с неожиданным пробуждением в качестве побочного эффекта, когда драйвер для другого устройства на той же направляющей питания запрашивает переход с D3cold на D0. Драйвер первого устройства должен получать уведомление о неожиданном пробуждении, чтобы предотвратить сохранение устройства в неинициализированном состоянии D0.