Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В состоянии питания устройства D0 устройство полностью подключено и работает. В этом состоянии драйвер устройства может взаимодействовать с устройством для выполнения операций ввода-вывода, а устройство может создавать прерывания. Если устройство имеет аппаратные регистры, сопоставленные с адресным пространством памяти или ввода-вывода, драйвер может получить доступ к этим регистрам.
Начиная с Windows 8 драйвер устройства может подключить подпрограмму службы прерываний пассивного уровня (ISR) к прерыванию с устройства. Устройство может создавать прерывания независимо от того, находится ли он в D0. При низком энергопотреблении в состоянии Dx устройство может создать прерывание, которое служит триггером для возврата устройства в состояние D0. ISR планируется запустить на IRQL = PASSIVE_LEVEL после перевода устройства в состояние D0. В более ранних версиях Windows, включая Windows 7, устройство не должно генерировать прерывания, если оно находится в состоянии питания устройства, отличном от D0.
Переход от D0 к состоянию Dx с низкой мощностью может происходить только в том случае, если драйвер устройства, выступая в качестве владельца политики питания для устройства, инициирует переход, вызвав подпрограмму PoRequestPowerIrp . Когда диспетчер питания отвечает на этот вызов, отправив power IRP (IRP_MN_SET_POWER), драйвер устройства, драйвер шины и встроенное ПО платформы (через драйвер Windows ACPI, Acpi.sys) совместно обрабатывает этот IRP, чтобы изменить состояние питания устройства.
Оборудование устройства обычно отслеживает набор внутренних событий, которые могут создавать прерывания выполнения или сигналы пробуждения в зависимости от того, как настроено устройство. Драйвер реализует один путь кода для реагирования на прерывания, а другой — для реагирования на события пробуждения. Код драйвера может быть упрощен, если путь обработки прерываний не должен обрабатывать события пробуждения, а код обработки пробуждений не должен обрабатывать прерывания. В качестве рекомендации драйвер должен настроить устройство для создания прерываний только в том случае, если устройство находится в D0, и создавать сигналы пробуждения только в том случае, если устройство находится в состоянии dx с низкой мощностью. Как правило, драйвер настраивает устройство для создания сигнала пробуждения непосредственно перед выходом устройства из D0 и настраивает устройство для создания прерываний сразу после ввода устройства в D0.
Как правило, устройство входит в состояние D0 при активации сигнала аппаратного сброса. Спецификации для автобусов, таких как PCI и PCI Express, предусматривают это поведение.
Это характеристики состояния D0:
Энергопотребление
Самый высокий уровень непрерывного потребления электроэнергии для устройства.
Контекст устройства
Весь контекст сохранен.
Поведение драйвера устройства
Обычная операция.