функция обратного вызова EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE (acxcircuit.h)
Обратный вызов EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE используется драйвером для добавления функциональных возможностей, когда фабрика цепи находится на этапе подготовки оборудования.
Синтаксис
EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE EvtAcxFactoryCircuitPrepareHardware;
NTSTATUS EvtAcxFactoryCircuitPrepareHardware(
WDFDEVICE Device,
ACXFACTORYCIRCUIT Factory,
WDFCMRESLIST ResourcesRaw,
WDFCMRESLIST ResourcesTranslated
)
{...}
Параметры
Device
Объект WDFDEVICE ( описанный в разделе Сводка объектов платформы), связанный с каналом ACX.
Factory
Объект ACXFACTORYCIRCUIT существующей фабрики цепи. Дополнительные сведения об объектах ACX см. в разделе Сводка по объектам ACX.
ResourcesRaw
Список ресурсов WDF, описывающий необработанные ресурсы, которые будут использоваться на этапе подготовки оборудования. Это объект списка ресурсов платформы WDF, представляющий список аппаратных ресурсов для устройства. Дополнительные сведения о необработанных ресурсах см. в разделе Аппаратные ресурсы для драйверов Framework-Based.
ResourcesTranslated
Список ресурсов WDF, в котором описываются переведенные ресурсы, которые будут использоваться на этапе подготовки оборудования. Это объект списка ресурсов платформы WDF, представляющий список аппаратных ресурсов для устройства. Дополнительные сведения о переводимых списках ресурсов см. в разделе Необработанные и переведенные ресурсы.
Возвращаемое значение
Возвращает значение STATUS_SUCCESS
, если вызов был успешным. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.
Комментарии
Чтобы зарегистрировать функцию обратного вызова EvtAcxFactoryCircuitPrepareHardware, драйвер должен вызвать метод AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.
Если драйвер зарегистрировал функцию обратного вызова EvtAcxFactoryCircuitPrepareHardware для ACXFACTORYCIRCUIT, платформа ACX вызывает функцию после того, как платформа WDF вызывает функцию обратного вызова EvtDevicePrepareHardware драйвера.
Функция обратного вызова EvtAcxFactoryCircuitPrepareHardware обращается к необработанным и преобразованным аппаратным ресурсам устройства с помощью получаемых дескрипторов ResourcesRaw и ResourcesTranslated. Функция обратного вызова может вызывать WdfCmResourceListGetCount и WdfCmResourceListGetDescriptor для просмотра списков ресурсов. Эта функция обратного вызова не может изменять списки ресурсов.
Дополнительные сведения о списках ресурсов и порядке их отображения см. в разделе Необработанные и переведенные ресурсы.
Как правило, функция обратного вызова EvtAcxFactoryCircuitPrepareHardware вашего драйвера при необходимости выполняет следующие действия:
- Сопоставляет адреса физической памяти с виртуальными адресами ACXFACTORYCIRCUIT, чтобы драйвер смог получить доступ к памяти, назначенной устройству.
- При необходимости функция обратного вызова EvtAcxFactoryCircuitPrepareHardware драйвера может ставить рабочий элемент в очередь для выполнения любых других задач настройки, требующих большого времени. Использование рабочего элемента для таких операций может гарантировать, что время запуска устройства не увеличит время загрузки системы. Дополнительные сведения см. в разделе Использование рабочих элементов платформы.
- Как правило, все остальные операции инициализации оборудования, включая загрузку встроенного ПО, должны выполняться каждый раз, когда устройство переходит в рабочее состояние (D0), и, следовательно, должны выполняться в функции обратного вызова EvtDeviceD0Entry драйвера.
Функции Обратного вызова EvtAcxCircuitPrepareHardware/EvtDevicePreparePrepareHardware и ResourcesTranslated, остаются действительными до тех пор, пока не будет возвращена функция обратного вызова EvtDeviceReleaseHardware драйвера.
Если драйвер завершается сбоем обратного вызова EvtAcxFactoryCircuitPrepareHardware, объект ACXFACTORYCIRCUIT помещается в состояние ожидания удаления.
Дополнительные сведения об аппаратных ресурсах см. в статье Общие сведения об аппаратных ресурсах.
Дополнительные сведения о том, когда платформа ACX и WDF вызывают эти функции обратного вызова, см. в разделе Сценарии управления питанием и PnP.
Дополнительные сведения о драйверах, предоставляющих эту функцию обратного вызова, см. в разделе Поддержка PnP и управления питанием в драйвере функций.
Требования ACX
Минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.
Требования
Требование | Значение |
---|---|
Заголовок | acxcircuit.h |
IRQL | PASSIVE_LEVEL |