Share via


EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE función de devolución de llamada (acxcircuit.h)

El controlador usa la EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE devolución de llamada para agregar funcionalidad cuando un generador de circuitos se encuentra en la fase de preparación del hardware.

Sintaxis

EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE EvtAcxFactoryCircuitPrepareHardware;

NTSTATUS EvtAcxFactoryCircuitPrepareHardware(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDFCMRESLIST ResourcesRaw,
  WDFCMRESLIST ResourcesTranslated
)
{...}

Parámetros

Device

Objeto WDFDEVICE (descrito en Resumen de objetos de marco) asociado al circuito ACX.

Factory

Objeto ACXFACTORYCIRCUIT de fábrica de circuitos existente. Para obtener más información sobre los objetos ACX, vea Resumen de objetos ACX.

ResourcesRaw

Lista de recursos de WDF que describe los recursos sin procesar que se usarán para la fase de preparación del hardware. Se trata de un objeto de lista de recursos del marco de WDF que representa una lista de recursos de hardware para un dispositivo. Para obtener más información sobre los recursos sin procesar, consulte Recursos de hardware para controladores de Framework-Based.

ResourcesTranslated

Lista de recursos de WDF que describe los recursos traducidos que se usarán para la fase de preparación del hardware. Se trata de un objeto de lista de recursos del marco de WDF que representa una lista de recursos de hardware para un dispositivo. Para obtener más información sobre las listas de recursos traducidas, consulte Recursos sin procesar y traducidos.

Valor devuelto

Devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Uso de valores NTSTATUS.

Comentarios

Para registrar una función de devolución de llamada EvtAcxFactoryCircuitPrepareHardware, un controlador debe llamar al método AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.

Si el controlador ha registrado una función de devolución de llamada EvtAcxFactoryCircuitPrepareHardware para acXFACTORYCIRCUIT, el marco de ACX llama a la función después de que el marco de WDF llame a la función de devolución de llamada EvtDevicePrepareHardware del controlador.

La función de devolución de llamada EvtAcxFactoryCircuitPrepareHardware accede a los recursos de hardware sin procesar y traducidos del dispositivo mediante los identificadores ResourcesRaw y ResourcesTranslated que recibe. La función de devolución de llamada puede llamar a WdfCmResourceListGetCount y WdfCmResourceListGetDescriptor para recorrer las listas de recursos. Esta función de devolución de llamada no puede modificar las listas de recursos.

Para obtener más información sobre las listas de recursos y el orden en que aparecen los recursos, vea Recursos sin procesar y traducidos.

Normalmente, la función de devolución de llamada EvtAcxFactoryCircuitPrepareHardware del controlador realiza lo siguiente, si es necesario:

  • Asigna direcciones de memoria física a direcciones virtuales de ACXFACTORYCIRCUIT para que el controlador pueda acceder a la memoria asignada al dispositivo.
  • Opcionalmente, la función de devolución de llamada EvtAcxFactoryCircuitPrepareHardware del controlador podría poner en cola un elemento de trabajo para completar cualquier otra tarea de configuración que consume mucho tiempo. El uso de un elemento de trabajo para estas operaciones puede ayudar a garantizar que el tiempo de inicio del dispositivo no aumente el tiempo de arranque del sistema. Para obtener más información, vea Uso de elementos de trabajo de Framework.
  • Normalmente, todas las demás operaciones de inicialización de hardware, incluido el firmware de carga, deben realizarse cada vez que el dispositivo entra en su estado de trabajo (D0) y, por lo tanto, deben tener lugar en la función de devolución de llamada EvtDeviceD0Entry del controlador.

Los identificadores ResourcesRaw y ResourcesTranslated que la función de devolución de llamada EvtAcxCircuitPrepareHardware/EvtDevicePrepareHardware sigue siendo válida hasta que la función de devolución de llamada EvtDeviceReleaseHardware del controlador devuelve.

Si el controlador produce un error en la devolución de llamada EvtAcxFactoryCircuitPrepareHardware, el objeto ACXFACTORYCIRCUIT se coloca en el estado delete-pending.

Para obtener más información sobre los recursos de hardware, consulte Introducción a los recursos de hardware.

Para obtener más información sobre cuándo el marco acX y WDF llaman a estas funciones de devolución de llamada, consulte Escenarios de administración de energía y PnP.

Para obtener más información sobre los controladores que proporcionan esta función de devolución de llamada, consulte Compatibilidad con PnP y administración de energía en El controlador de funciones.

Requisitos de ACX

Versión mínima de ACX: 1.0

Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.

Requisitos

Requisito Valor
Header acxcircuit.h
IRQL PASSIVE_LEVEL

Consulte también