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


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

Обратный вызов EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN используется драйвером для добавления функциональных возможностей в путь вниз объекта ACXFACTORYCIRCUIT.

Синтаксис

EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN EvtAcxFactoryCircuitPowerDown;

NTSTATUS EvtAcxFactoryCircuitPowerDown(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDF_POWER_DEVICE_STATE TargetState
)
{...}

Параметры

Device

Объект WDFDEVICE (описанный в разделе Сводка объектов Платформы), связанный с каналом ACX.

Factory

Существующий объект фабрики каналов ACXFACTORYCIRCUIT. Дополнительные сведения о объектах ACX см. в сводке по объектам ACX.

TargetState

Перечисление WDF_POWER_DEVICE_STATE, определяющее состояние питания целевого устройства.

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

Возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в использовании значений NTSTATUS.

Замечания

Чтобы зарегистрировать функцию обратного вызова EvtAcxFactoryCircuitPrepareHardware, драйвер должен вызвать AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.

Если драйвер зарегистрировал функцию обратного вызова EvtCircuitPowerDown, платформа ACX вызывает функцию каждый раз, когда один из устройств драйвера покидает рабочее состояние (D0). Устройство покидает состояние D0, когда происходит одно из следующих действий:

  • Система и все его устройства собираются оставить свои рабочие состояния и ввести низкое состояние питания.
  • Устройство будет входить в состояние низкой мощности, так как оно неактивно, если устройство поддерживает простой с низкой мощностью.
  • Диспетчер Plug and Play пытается распространить аппаратные ресурсы системы.
  • Пользователь указал, как правило, с помощью пользовательского интерфейса приложения, что он или она хочет удалить устройство.
  • Платформа также вызывает функцию обратного вызова EvtFactoryCircuitPowerDown после неожиданного удаления устройства (неожиданное удаление).

Дополнительные сведения о том, когда платформа вызывает эту функцию обратного вызова, см. в сценариях управления питанием и PnP.

Если устройство не было неожиданно удалено, платформа ACX вызывает эту функцию обратного вызова сразу после отключения прерываний устройства, но до уменьшения мощности устройства от D0 и до вызова WDF обратного вызова драйвера EvtDeviceD0Exit на связанных устройствах. Параметр TargetState определяет состояние питания устройства, которое устройство будет входить.

Функция обратного вызова EvtFactoryCircuitPowerDown должна выполнять все необходимые операции, прежде чем оборудование ACXFACTORYCIRCUT входит в указанное состояние низкой мощности, например сохранение всех сведений, необходимых драйверу позже для восстановления оборудования ACXFACTORYCIRCUIT в его состоянии питания D0.

Если TargetState — WdfPowerDeviceD3Final, следует предположить, что система отключена, связанное устройство будет удалено или выполняется перебалансация ресурсов. Если драйвер должен сохранить сведения, он должен записать его на диск или другой постоянный носитель хранилища.

Дополнительные сведения о драйверах, предоставляющих эту функцию обратного вызова, см. в поддержки PnP и управления питанием в драйвере функций.

Требования к ACX

минимальная версия ACX: 1.0

Дополнительные сведения о версиях ACX см. в обзоре версий ACX.

Требования

Требование Ценность
заголовка acxcircuit.h
IRQL PASSIVE_LEVEL

См. также