EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE Rückruffunktion (acxcircuit.h)

Der EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE Rückrufs wird vom Treiber verwendet, um Funktionen hinzuzufügen, wenn sich ein ACXFACTORYCIRCUIT in der Releasehardwarephase befindet.

Syntax

EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE EvtAcxFactoryCircuitReleaseHardware;

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

Parameter

Device

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

Factory

Das vorhandene ACXFACTORYCIRCUIT-Objekt der Leitungsfabrik. (Weitere Informationen zu ACX-Objekten finden Sie unter Zusammenfassung der ACX-Objekte.

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 entsprechender Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.

Hinweise

Um eine EvtAcxFactoryCircuitReleaseHardware-Rückruffunktion zu registrieren, muss Ihr Treiber AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks aufrufen.

Wenn ein Treiber eine EvtAcxFactoryCircuitReleaseHardware-Rückruffunktion registriert hat, ruft das Framework sie während der folgenden Übergänge auf:

  • Ressourcenausgleich
  • Geordnetes Entfernen
  • Überraschendes Entfernen

Das ACX-Framework ruft die Rückruffunktion EvtAcxFactoryCircuitReleaseHardware auf, nachdem das WDF-Framework das Senden von E/A-Anforderungen an das Gerät beendet hat, alle dem Gerät zugewiesenen Interrupts deaktiviert und getrennt wurden und das Gerät deaktiviert wurde.

Das ACX-Framework ruft die Rückruffunktion EvtAcxFactoryCircuitReleaseHardware auf, bevor das WDF-Framework die EvtDeviceReleaseHardware-Rückruffunktion des Treibers aufruft.

Wenn das Framework evtAcxFactoryCircuitReleaseHardware aufruft, ist das PDO für das Gerät weiterhin vorhanden und kann nach Geräteinformationen abgefragt werden, die im ausgeschalteten Zustand verfügbar sind, z. B. PCI-Konfigurationszustand.

Darüber hinaus werden die übersetzten Hardwareressourcen, die das Framework an EvtDeviceReleaseHardware bereitstellt, weiterhin dem Gerät zugewiesen. Der Hauptzweck dieser Rückruffunktion besteht darin, diese Ressourcen freizugeben und insbesondere alle Speicherressourcen aufzuheben, die der EvtAcxCircuitPrepareHardware-Rückruffunktion des Treibers zugeordnet sind. Der Treiber kann diesen Rückruf auch verwenden, um alle anderen ACXCIRCUIT-Verwaltungsaktivitäten auszuführen, die im heruntergefahrenen Zustand erforderlich sein könnten. Normalerweise sollten alle anderen Hardwareabschaltungsvorgänge in der Rückruffunktion EvtDeviceD0Exit des Treibers erfolgen.

Das ACX-Framework ruft immer die EvtAcxFactoryCircuitReleaseHardware-Rückruffunktion des Treibers auf, wenn die EvtAcxFactoryCircuitPrepareHardware-Rückruffunktion des Treibers aufgerufen wurde, es sei denn, die EvtAcxFactoryCircuitPrepareHardware hat einen Fehlercode zurückgegeben.

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

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

Weitere Informationen zu Treibern, die diese Rückruffunktion bereitstellen, finden Sie unter Unterstützung 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