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


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

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

Синтаксис

EVT_ACX_FACTORY_CIRCUIT_POWER_UP EvtAcxFactoryCircuitPowerUp;

NTSTATUS EvtAcxFactoryCircuitPowerUp(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDF_POWER_DEVICE_STATE PreviousState
)
{...}

Параметры

Device

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

Factory

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

PreviousState

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

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

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

Если драйвер завершается ошибкой этого обратного вызова, он помесит ACXFACTORYCIRCUIT как pending-delete. Платформа ACX не завершает обратный вызов ACX EvtDeviceD0Entry подчеркиванием. Это позволяет использовать существующие рабочие acXFACTORYCIRCUITs с этого устройства для создания рабочих звуковых путей.

Комментарии

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

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

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

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

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

Функция обратного вызова EvtFactoryCircuitPowerUp вызывается в irQL = PASSIVE_LEVEL. Не следует делать эту функцию обратного вызова страничной.

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

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

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

Требования

Требование Значение
Заголовок acxcircuit.h
IRQL PASSIVE_LEVEL

См. также раздел