Condividi tramite


EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE funzione di callback (acxcircuit.h)

Il callback EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE viene usato dal driver per aggiungere funzionalità quando una fabbrica di circuiti si trova nella fase di preparazione dell'hardware.

Sintassi

EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE EvtAcxFactoryCircuitPrepareHardware;

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

Parametri

Device

Oggetto WDFDEVICE (descritto in Riepilogo degli oggetti Framework) associato al circuito ACX.

Factory

Oggetto ACXFACTORYCIRCUIT della fabbrica di circuiti esistente. Per altre informazioni sugli oggetti ACX, vedere Riepilogo degli oggetti ACX.

ResourcesRaw

Elenco di risorse WDF che descrive le risorse non elaborate da usare per la fase di preparazione dell'hardware. Si tratta di un oggetto elenco risorse del framework WDF che rappresenta un elenco di risorse hardware per un dispositivo. Per altre informazioni sulle risorse non elaborate, vedere Risorse hardware per i driver di Framework-Based.

ResourcesTranslated

Elenco di risorse WDF che descrive le risorse tradotte da usare per la fase di preparazione dell'hardware. Si tratta di un oggetto elenco risorse del framework WDF che rappresenta un elenco di risorse hardware per un dispositivo. Per altre informazioni sugli elenchi di risorse tradotti, vedere Risorse non elaborate e tradotte.

Valore restituito

Restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso dei valori NTSTATUS.

Commenti

Per registrare una funzione di callback evtAcxFactoryCircuitPrepareHardware, un driver deve chiamare il metodo AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.

Se il driver ha registrato una funzione di callback evtAcxFactoryCircuitPrepareHardware per un'istanza di ACXFACTORYCIRCUIT, il framework ACX chiama la funzione dopo che il framework WDF chiama la funzione di callback evtDevicePrepareHardware del driver.

La funzione di callback evtAcxFactoryCircuitPrepareHardware accede alle risorse hardware non elaborate e tradotte del dispositivo usando gli handle ResourcesRaw e ResourcesTranslated ricevuti. La funzione di callback può chiamare WdfCmResourceListGetCount e WdfCmResourceListGetDescriptor per attraversare gli elenchi di risorse. Questa funzione di callback non può modificare gli elenchi di risorse.

Per altre informazioni sugli elenchi di risorse e sull'ordine in cui vengono visualizzate le risorse, vedere Risorse non elaborate e tradotte.

In genere, la funzione di callback evtAcxFactoryCircuitPrepareHardware del driver esegue le operazioni seguenti, se necessario:

  • Esegue il mapping degli indirizzi di memoria fisica agli indirizzi virtuali di ACXFACTORYCIRCUIT in modo che il driver possa accedere alla memoria assegnata al dispositivo.
  • Facoltativamente, la funzione di callback evtAcxFactoryCircuitPrepareHardware del driver potrebbe accodare un elemento di lavoro per completare qualsiasi altra attività di configurazione a elevato utilizzo di tempo. L'uso di un elemento di lavoro per tali operazioni può aiutare a garantire che l'ora di avvio del dispositivo non aumenti l'ora di avvio del sistema. Per altre informazioni, vedere Uso degli elementi di lavoro di Framework.
  • In genere, tutte le altre operazioni di inizializzazione hardware, incluso il firmware di caricamento, devono essere eseguite ogni volta che il dispositivo entra nello stato di lavoro (D0) e deve quindi essere eseguito nella funzione di callback EvtDeviceD0Entry del driver.

ResourcesRaw e ResourcesTranslated gestisce che la funzione di callback EvtAcxCircuitPrepareHardware/EvtDevicePrepareHardware rimane valida finché la funzione di callback EvtDeviceReleaseHardware del driver non viene restituita.

Se il driver ha esito negativo il callback EvtAcxFactoryCircuitPrepareHardware, l'oggetto ACXFACTORYCIRCUIT viene inserito nello stato di eliminazione in sospeso.

Per altre informazioni sulle risorse hardware, vedere Introduzione alle risorse hardware.

Per altre informazioni su quando il framework ACX e WDF chiamano queste funzioni di callback, vedere Scenari di PnP e Power Management.

Per altre informazioni sui driver che forniscono questa funzione di callback, vedere Supporto di PnP e Power Management in Driver di funzione.

Requisiti ACX

Versione minima DI ACX: 1.0

Per altre informazioni sulle versioni ACX, vedere Panoramica della versione di ACX.

Requisiti

Requisito Valore
Intestazione acxcircuit.h
IRQL PASSIVE_LEVEL

Vedi anche