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


функция обратного вызова PO_FX_DIRECTED_POWER_DOWN_CALLBACK (wdm.h)

Функция обратного вызова PO_FX_DIRECTED_POWER_DOWN_CALLBACK реализована драйвером клиента для обработки действий, относящихся к драйверу, для отключения питания от имени DFx (Направленные PoFx).

Синтаксис

PO_FX_DIRECTED_POWER_DOWN_CALLBACK PoFxDirectedPowerDownCallback;

void PoFxDirectedPowerDownCallback(
  PVOID Context,
  ULONG Flags
)
{...}

Параметры

Context

Предоставляет указатель на контекст, переданный в PoFxRegisterDevice.

Flags

Зарезервировано для дальнейшего использования.

Возвращаемое значение

Никакой

Замечания

Драйверы WDM, которые регистрируются в PoFx для поддержки управления питанием среды выполнения, необходимо реализовать этот обратный вызов, чтобы добавить поддержку DFx.

Зарегистрируйте реализацию этой функции обратного вызова, задав соответствующий член структуры PO_FX_DEVICE_V3, а затем вызовите PoFxRegisterDevice.

Этот обратный вызов вызывается во время современного резервного сеанса, когда это устройство или зависимое от этого устройства заблокировано запись DRIPS по крайней мере в течение двух последовательных минут (время ожидания, настраиваемое драйвером, по умолчанию 2 минуты) без каких-либо действий программного обеспечения с брокером активации.

При вызове этого обратного вызова драйвер обычно выполняет следующие высокоуровневые задачи:

  • Остановите обработку новых работ.

  • Немедленно переходите в состояние низкой мощности.

  • Оставаться в состоянии низкой мощности, пока система не вызовет PO_FX_DIRECTED_POWER_UP_CALLBACKдрайвера.

Шаги реализации и порядок могут отличаться, но могут включать некоторые из следующих вариантов:

  • Запросить dx IRP.

  • После прибытия Dx IRP блокируйте очереди ввода-вывода.

  • Дождитесь завершения выполняемых операций.

  • Если эти операции занимают слишком много времени, при необходимости отмените их.

  • Выполните действия, необходимые для перехода устройства в Dx (например, сохранение состояния оборудования).

  • Рука для пробуждения по мере необходимости.

  • Вызов PoFxCompleteDirectedPowerDown.

  • Оставаться в Dx, пока системные вызовы PO_FX_DIRECTED_POWER_UP_CALLBACK.

Контракт очень похож на S3/S4, хотя не участвуют S-IRP.

Если используется иерархия устройств, направленная платформа питания запрашивает дочерние устройства для выключения до родительского устройства. Для данного родительского устройства рассматриваются прямые дочерние (перечисленные родительскими) и косвенные дочерние элементы из-за отношений питания.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1903
заголовка wdm.h (include Wdm.h)

См. также

Введение в платформу управления управляемыми питанием

PO_FX_DIRECTED_POWER_UP_CALLBACK