функция обратного вызова 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 |