Устройство возвращается в рабочее состояние (UMDF 1)
Предупреждение
UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2.
Архивные примеры UMDF 1 можно найти в Windows 11 версии 22H2 — обновление примеров драйверов за май 2022 г.
Дополнительные сведения см. в разделе начало работы с помощью UMDF.
Устройство с низким энергопотреблением возвращается в рабочее состояние, если происходит одно из следующих действий:
Устройство обнаруживает внешнее событие и активирует сигнал пробуждения в шине. Драйвер шины в режиме ядра обнаруживает сигнал пробуждения.
Устройство неактивно, и драйвер вызывает IWDFDevice2::StopIdle.
Состояние питания системы изменилось с низкого энергопотребления на рабочее состояние (S0).
В каждой из этих ситуаций драйвер шины в режиме ядра восстанавливает состояние устройства (дочернего устройства шины) в рабочее состояние (D0).
Для каждой функции на основе UMDF и драйвера фильтра, который поддерживает устройство, платформа последовательно выполняет по одному драйверу за раз, начиная с драйвера, который является самым низким в стеке драйверов:
Платформа вызывает функцию обратного вызова IPnpCallback::OnD0Entry драйвера (если она существует).
Если драйвер является владельцем политики питания устройства, платформа вызывает функцию обратного вызова IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 или IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx .
Платформа перезапускает все очереди ввода-вывода устройства, управляемые питанием, и вызывает их функции обратного вызова IQueueCallbackIoResume::OnIoResume (при необходимости).
Если драйвер использует самоуправляемый ввод-вывод, платформа вызывает функцию обратного вызова IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart .
Схему, на которую показаны эти шаги, см. в статье Подключение пользователя к устройству.