Freigeben über


EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN Rückruffunktion (acxcircuit.h)

Der EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN Rückruf wird vom Treiber verwendet, um Funktionen im Energiedownpfad eines ACXFACTORYCIRCUIT-Objekts hinzuzufügen.

Syntax

EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN EvtAcxFactoryCircuitPowerDown;

NTSTATUS EvtAcxFactoryCircuitPowerDown(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDF_POWER_DEVICE_STATE TargetState
)
{...}

Parameter

Device

Ein WDFDEVICE-Objekt (in Zusammenfassung von Framework-Objekten) beschrieben, das dem ACX-Schaltkreis zugeordnet ist.

Factory

Das vorhandene Schaltkreiswerk ACXFACTORYCIRCUIT-Objekt. Weitere Informationen zu ACX-Objekten finden Sie unter Summary of ACX Objects.

TargetState

Eine WDF_POWER_DEVICE_STATE Enumeration, die den Energiezustand des Zielgeräts identifiziert.

Rückgabewert

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

Bemerkungen

Um eine EvtAcxFactoryCircuitPrepareHardware-Rückruffunktion zu registrieren, muss ein Treiber AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacksaufrufen.

Wenn der Treiber eine EvtCircuitPowerDown-Rückruffunktion registriert hat, ruft das ACX-Framework die Funktion jedes Mal auf, wenn eines der Treibergeräte den Arbeitszustand (D0) verlässt. Ein Gerät verlässt den D0-Zustand, wenn eine der folgenden Aktionen auftritt:

  • Das System und alle geräte sind dabei, ihre Arbeitszustände zu verlassen und in einen Energiesparzustand zu gelangen.
  • Das Gerät ist dabei, einen Energiesparzustand einzugeben, da es sich im Leerlauf befindet, wenn das Gerät den Leerlauf unterstützt.
  • Der Plug and Play-Manager versucht, die Hardwareressourcen des Systems neu zu verteilen.
  • Ein Benutzer hat in der Regel über die Benutzeroberfläche einer Anwendung angegeben, dass er das Gerät entfernen möchte.
  • Das Framework ruft auch die EvtFactoryCircuitPowerDown-Rückruffunktion auf, nachdem ein Gerät unerwartet entfernt wurde (Überraschung entfernt).

Weitere Informationen dazu, wann das Framework diese Rückruffunktion aufruft, finden Sie unter PnP- und Power Management-Szenarien.

Sofern das Gerät nicht überraschend entfernt wurde, ruft das ACX-Framework diese Rückruffunktion unmittelbar nach dem Deaktivieren der Unterbrechungen des Geräts auf, aber bevor die Leistung des Geräts von D0 reduziert wird und bevor WDF den EvtDeviceD0Exit-Rückruf des Treibers auf den zugehörigen Geräten aufruft. Der Parameter "TargetState" gibt den Gerätestromzustand an, den das Gerät eingibt.

Die Rückruffunktion EvtFactoryCircuitPowerDown muss alle erforderlichen Vorgänge ausführen, bevor die Hardware des ACXFACTORYCIRCUT in den angegebenen Energiesparzustand wechselt, z. B. das Speichern von Informationen, die der Treiber später benötigt, um die Hardware des ACXFACTORYCIRCUIT in den D0-Energiezustand wiederherzustellen.

Wenn TargetState WdfPowerDeviceD3Final ist, sollten Sie davon ausgehen, dass das System deaktiviert ist, das zugeordnete Gerät entfernt wird oder eine Ressource neu ausgeglichen wird. Wenn Der Treiber Informationen speichern muss, sollte er auf den Datenträger oder ein anderes dauerhaftes Speichermedium geschrieben werden.

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

ACX-Anforderungen

Mindestens ACX-Version: 1.0

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

Anforderungen

Anforderung Wert
Header- acxcircuit.h
IRQL- PASSIVE_LEVEL

Siehe auch