EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE Rückruffunktion (acxcircuit.h)

Der EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE Rückruf wird vom Treiber verwendet, um Funktionen hinzuzufügen, wenn sich eine Leitungsfactory in der Vorbereitungsphase der Hardware befindet.

Syntax

EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE EvtAcxFactoryCircuitPrepareHardware;

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

Parameter

Device

Ein WDFDEVICE-Objekt (beschrieben in Zusammenfassung der Frameworkobjekte), das der ACX-Verbindung zugeordnet ist.

Factory

Das vorhandene ACXFACTORYCIRCUIT-Objekt der Circuit Factory. Weitere Informationen zu ACX-Objekten finden Sie unter Zusammenfassung von ACX-Objekten.

ResourcesRaw

Eine WDF-Ressourcenliste, die die Rohressourcen beschreibt, die für die Vorbereitungsphase der Hardware verwendet werden sollen. Dies ist ein Ressourcenlistenobjekt des WDF-Frameworks, das eine Liste der Hardwareressourcen für ein Gerät darstellt. Weitere Informationen zu Rohressourcen finden Sie unter Hardwareressourcen für Framework-Based Treiber.

ResourcesTranslated

Eine WDF-Ressourcenliste, die die übersetzten Ressourcen beschreibt, die für die Vorbereitungsphase der Hardware verwendet werden sollen. Dies ist ein Ressourcenlistenobjekt des WDF-Frameworks, das eine Liste der Hardwareressourcen für ein Gerät darstellt. Weitere Informationen zu übersetzten Ressourcenlisten finden Sie unter Unformatierte und übersetzte Ressourcen.

Rückgabewert

Gibt zurück STATUS_SUCCESS , wenn der Aufruf erfolgreich war. Andernfalls wird ein geeigneter Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.

Hinweise

Um eine EvtAcxFactoryCircuitPrepareHardware-Rückruffunktion zu registrieren, muss ein Treiber die AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks-Methode aufrufen.

Wenn der Treiber eine EvtAcxFactoryCircuitPrepareHardware-Rückruffunktion für eine ACXFACTORYCIRCUIT registriert hat, ruft das ACX-Framework die Funktion auf, nachdem das WDF-Framework die Rückruffunktion EvtDevicePrepareHardware des Treibers aufgerufen hat.

Die Rückruffunktion EvtAcxFactoryCircuitPrepareHardware greift mithilfe der empfangenen Handles ResourcesRaw und ResourcesTranslated auf die rohen und übersetzten Hardwareressourcen des Geräts zu. Die Rückruffunktion kann WdfCmResourceListGetCount und WdfCmResourceListGetDescriptor aufrufen, um die Ressourcenlisten zu durchlaufen. Diese Rückruffunktion kann die Ressourcenlisten nicht ändern.

Weitere Informationen zu Ressourcenlisten und der Reihenfolge, in der die Ressourcen angezeigt werden, finden Sie unter Unformatierte und übersetzte Ressourcen.

In der Regel führt die EvtAcxFactoryCircuitPrepareHardware-Rückruffunktion Ihres Treibers bei Bedarf folgendes aus:

  • Ordnet adressen des physischen Arbeitsspeichers virtuellen Adressen des ACXFACTORYCIRCUIT zu, damit der Treiber auf arbeitsspeicher zugreifen kann, der dem Gerät zugewiesen ist.
  • Optional kann die EvtAcxFactoryCircuitPrepareHardware-Rückruffunktion Ihres Treibers ein Arbeitselement in die Warteschlange stellen, um andere zeitintensive Konfigurationsaufgaben auszuführen. Die Verwendung eines Arbeitselements für solche Vorgänge kann dazu beitragen, sicherzustellen, dass die Startzeit Ihres Geräts die Systemstartzeit nicht erhöht. Weitere Informationen finden Sie unter Verwenden von Framework-Arbeitselementen.
  • In der Regel sollten alle anderen Hardwareinitialisierungsvorgänge, einschließlich des Ladens der Firmware, bei jedem Wechsel des Geräts in den Betriebszustand (D0) erfolgen und daher in der EvtDeviceD0Entry-Rückruffunktion des Treibers erfolgen.

Die Handles ResourcesRaw und ResourcesTranslated, die die Rückruffunktion EvtAcxCircuitPrepareHardware/EvtDevicePrepareHardware empfängt, bleiben gültig, bis die Rückruffunktion EvtDeviceReleaseHardware des Treibers zurückgibt.

Wenn der Treiber beim EvtAcxFactoryCircuitPrepareHardware-Rückruf fehlschlägt, wird das ACXFACTORYCIRCUIT-Objekt in den Status delete-pending versetzt.

Weitere Informationen zu Hardwareressourcen finden Sie unter Einführung in Hardwareressourcen.

Weitere Informationen dazu, wann diese Rückruffunktionen vom ACX- und WDF-Framework aufgerufen werden, finden Sie unter PnP- und Energieverwaltungsszenarien.

Weitere Informationen zu Treibern, die diese Rückruffunktion bereitstellen, finden Sie unter Unterstützen der PnP- und Energieverwaltung im Funktionstreiber.

ACX-Anforderungen

ACX-Mindestversion: 1.0

Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.

Anforderungen

Anforderung Wert
Header acxcircuit.h
IRQL PASSIVE_LEVEL

Weitere Informationen