Уведомления о режиме современного ожидания прошивки

В соответствии с указанными состояниями современной резервной системы корпорация Майкрософт предоставляет уведомления, указывающие, когда система переходит в эти состояния и выходит из них. Важно отметить, что это уведомления встроенного ПО, а не уведомления на уровне ОС.

Эти уведомления — это набор функций метода, специфичного для устройства (_DSM), которые могут использоваться операционной системой для взаимодействия с системной прошивкой для оптимизации энергии и функциональности в ключевые моменты переходов состояния системы. При разработке современной системы с поддержкой резервного копирования инженеры должны учитывать, как и при каких обстоятельствах следует реализовать определенные системные поведения. Одним из важных факторов в этих решениях является состояние питания системы— конструктор может потребовать определенного действия, когда дисплей отключается, когда система входит в спящий режим и т. д. В этом разделе описывается обзор уведомлений, предоставляемых для перехода состояния питания в современных резервных системах. Корпорация Майкрософт предоставляет уведомления для трех основных переходов при входе и выходе. Эти переходы и соответствующие уведомления показаны на следующей схеме:

рис. 1. Схема, показывающая использование уведомлений о переходе современного состояния ожидания

В этом разделе предполагается, что читатель знаком с интерфейсами, определенными спецификацией ACPI. На этой странице приведены сведения о последней спецификации ACPI. Обратите внимание, что следующий _DSM не зависит от платформы и не следует путать с _DSM от Intel, описанным здесь. Для этого _DSM, идентифицированного по UUID, функции 0 и 3-6 поддерживаются, начиная с Windows 10 версии 1903, а функции 7 и 8 добавлены в Windows 10 версии 2004. Функция 9 добавлена в Windows 11 версии 22H2.

Функция _DSM Поддерживается с
Функция 0, 3-6 Windows 10 версии 1903
Функция 7,8 Windows 10 2004 г.
Функция 9 Windows 11 22H2

Перечисление функций (функция 0)

Чтобы операционная система взаимодействовала с платформой, устройство ACPI должно быть отображено через пространство имен. Это устройство должно содержать объект _CID, содержащий EISAID("PNP0D80"). Область этого устройства должна содержать следующее определение _DSM, указывающее, какие _DSMs поддерживает устройство.

рис. 2: Сводная таблица функций _DSM для перечисления

Чтобы указать поддержку функций 3–8, перечисленных выше, функция "Перечисление функций" (функция 0) должна возвращать buffer(){0xFF, 0x01} . Дополнительные сведения см. в разделе 9.1.1 спецификации ACPI.

Уведомление о отключении отображения (функция 3)

Эта функция _DSM будет вызвана, когда операционная система перейдет в состояние, в котором все дисплеи — локальные и удаленные, если они имеются, — будут выключены. Это может произойти на основе некоторых действий пользователя, например нажатия кнопки или закрытия крышки, или истечения срока действия таймера отключения питания. Если ОС поддерживает уведомления о отключении отображения, вызывая эту функцию, она также должна вызывать уведомления, описанные в следующем разделе.

Аргументы:

  • Arg0: UUID: 11E00D56-CE64-47ce-837B-1F898F9AA461
  • Arg1: идентификатор редакции: 0
  • Arg2: Индекс функции: 3
  • Arg3: Неиспользуемый

Возврат:

  • Отсутствует

Отображение на уведомлении (функция 4)

Эта функция _DSM должна вызываться, если произошло уведомление о отключении отображения, а любой дисплей — локальный или удаленный — возвращается в активное состояние. Если ОС поддерживает уведомления включения отображения при вызове этой функции, она также должна вызывать уведомления выключения отображения, описанные в предыдущей секции.

Аргументы:

  • Arg0: UUID: 11E00D56-CE64-47ce-837B-1F898F9AA461
  • Arg1: Идентификатор редакции: 0
  • Arg2: Индекс функции: 4
  • Arg3: Неиспользуемый

Возврат:

  • Отсутствует

Уведомление о входе в состояние минимального энергопотребления (функция 5)

Эта функция _DSM вызывается, когда все действия программного обеспечения прекратились (нет активаторов), позволяя системе входить в его наименьшее состояние питания. Система может несколько раз переходить в это состояние и выходить из него во время сеанса «Modern Standby», чтобы обслуживать явно разрешенные, желаемые пользователем действия. Дополнительные сведения о том, как это определяется и отличается от записи современного резервного сна (функция 7), см. на схеме выше. Если ОС поддерживает это уведомление о входе в наименьшее состояние энергопотребления платформы, она также должна вызвать соответствующее уведомление о выходе, описанное в следующем разделе (Функция 6).

Аргументы:

  • Arg0: UUID: 11E00D56-CE64-47ce-837B-1F898F9AA461
  • Arg1: идентификатор редакции: 0
  • Arg2: Индекс функции: 5
  • Arg3: Не используется

Возврат:

  • Отсутствует

Уведомление о выходе из самого низкого состояния питания (функция 6)

Эта _DSM функция может вызываться всякий раз, когда система просыпается от самого низкого уровня энергопотребления для запуска программной активности (активатор запускается). Система может ввести и выйти из нее несколько раз во время современного резервного сеанса для обслуживания явным образом разрешенного, требуемого пользователем поведения. Дополнительные сведения о том, как это определяется и отличается от перехода в современный режим сна (функция 7), см. на диаграмме выше. Если ОС поддерживает уведомления о выходе из самого низкого состояния энергопотребления при вызове этой функции, она также должна вызывать уведомления о входе в самое низкое состояние энергопотребления, описанные в предыдущем разделе.

Аргументы:

  • Arg0: UUID: 11E00D56-CE64-47ce-837B-1F898F9AA461
  • Arg1: идентификатор редакции: 0
  • Arg2: индекс функции: 6
  • Arg3: Unused

Возврат:

  • Отсутствует

Уведомление о входе в спящий режим (функция 7)

Эта функция _DSM вызывается, когда система входит в состояние спящего режима современного резервного сеанса. Это определяется как запись на этапе низкой мощности, когда все действия, выполняемые в системе, выполняются и могут выполняться только явно разрешенные, требуемые пользователем действия, добавляющие программное обеспечение. Корпорация Майкрософт рекомендует при получении этого уведомления отключить подсветку клавиатуры, светодиодный индикатор кнопки питания и выключить вентилятор, так как оно указывает на то, что более объемные задачи должны быть завершены, и система официально перешла в долгосрочный режим сна. Если ОС поддерживает уведомления о современных записях спящего режима путем вызова этой функции, он также должен вызывать уведомления о выходе из современного спящего режима, описанные в следующем разделе.

Аргументы:

  • Arg0: UUID: 11E00D56-CE64-47ce-837B-1F898F9AA461
  • Arg1: идентификатор редакции: 0
  • Arg2: Индекс функции: 7
  • Arg3: Unused

Возврат:

  • Отсутствует

Уведомление о выходе из спящего режима (функция 8)

Эта функция _DSM вызывается при выходе системы из состояния спящего режима современного резервного сеанса. Это определяется как выход из этапа низкой мощности, где система больше не находится в явном состоянии сна и теперь может позволить выполнять большие рабочие нагрузки. Корпорация Майкрософт рекомендует использовать переключатель клавиатуры, светодиодный индикатор питания и поведение вентилятора, которое может восстановиться в этом уведомлении, так как это означает, что более крупные рабочие нагрузки теперь могут выполняться, так как система официально завершила свое долгосрочное состояние спящего режима. Если ОС поддерживает уведомления о выходе из современного спящего режима путем вызова этой функции, она также должна вызывать уведомления о входе в современный спящий режим, описанные в предыдущем разделе.

Аргументы:

  • Arg0: UUID: 11E00D56-CE64-47ce-837B-1F898F9AA461
  • Arg1: идентификатор редакции: 0
  • Arg2: Индекс функции: 8
  • Arg3: Unused

Возврат:

  • Отсутствует

Включение уведомления о дисплее (функция 9)

Этот _DSM вызывается, когда система намерена включить дисплей при выходе из современного резервного копирования. Например, если какой-либо дизайн OEM преднамеренно настроен на снижение лимита потребления энергии (PLx) после выхода из режима сна (Функция 7), и этот дизайн имеет более долгое время пробуждения по сравнению с другими устройствами. Эта функция 9 является сигналом, помогающим системным встроенному ПО ранее выпуска PL улучшить время возобновления работы из современного резервного режима, когда только планируется включить отображение. (Функции 9 добавлены в Windows 11 версии 22H2.)

Аргументы:

  • Arg0: UUID: 11E00D56-CE64-47ce-837B-1F898F9AA461
  • Arg1: идентификатор редакции: 0
  • Arg2: Индекс функции: 9
  • Arg3: Неиспользованный

Возврат:

  • Отсутствует