Freigeben über


IPowerNotify::P owerChangeNotify-Methode (portcls.h)

Die PowerChangeNotify -Methode benachrichtigt den Miniporttreiber über Änderungen im Energiezustand.

Syntax

void PowerChangeNotify(
  [in] POWER_STATE PowerState
);

Parameter

[in] PowerState

Gibt den aktuellen Energiezustand an. Dieser Parameter ist eine Union vom Typ POWER_STATE. Der neue Energiezustand (PowerState.DeviceState) kann einer der DEVICE_POWER_STATE Enumerationswerte sein, die in IAdapterPowerManagement::P owerChangeState aufgeführt sind.

Rückgabewert

Keine

Bemerkungen

Der PortCls-Systemtreiber ruft die Methode des Miniporttreibers PowerChangeNotify auf, um ihn über Änderungen im Energiezustand zu benachrichtigen. Der Zweck dieses Aufrufs besteht darin, dem Miniporttreiber die Möglichkeit zu geben, jeden hardwarespezifischen Kontext direkt vor dem Ausschalten zu speichern oder einen zuvor gespeicherten Kontext direkt nach dem Einschalten wiederherzustellen.

Der Miniporttreiber kann während des Anrufs in die Hardwareregister oder den PowerChangeNotify Onboardspeicher schreiben. Wenn das System heruntergefahren wird (indem ein Zustandsübergang von PowerDeviceD0 entfernt wird), ruft PowerChangeNotify der PortCls-Systemtreiber auf, bevor er IAdapterPowerManagement::P owerChangeState aufruft und nachdem er aktive Audiodatenströme angehalten hat. Dies gibt dem Miniporttreiber die Möglichkeit, jeden hardwarespezifischen Gerätekontext zu speichern, bevor das Gerät heruntergefahren wird. Beispielsweise muss ein WavePci-Miniporttreiber möglicherweise seine DMA-Register speichern, wenn das Herunterfahren während einer Sequenz von Datenübertragungen erfolgt. Wenn das System aktiviert wird (durch einen Zustandsübergang zu PowerDeviceD0), ruft PowerChangeNotify PortCls nach dem Aufruf von PowerChangeState und vor dem Neustart angehaltener Audiodatenströme auf. Dies gibt dem Miniporttreiber die Möglichkeit, einen zuvor gespeicherten Kontext wiederherzustellen, nachdem das Gerät eingeschaltet wurde.

Der Code für diese Methode muss sich im ausgelagerten Arbeitsspeicher befinden.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header portcls.h (portcls.h einschließen)

Weitere Informationen

IAdapterPowerManagement::P owerChangeState

IPowerNotify