IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0-Methode (wudfddi.h)

[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]

Die OnArmWakeFromS0-Rückruffunktion eines Treibers (also aktiviert) ein Gerät, sodass es ein Aktivierungssignal auslösen kann, während es sich in einem Gerätezustand mit geringem Stromverbrauch befindet, wenn das System im Systemarbeitszustand (S0) verbleibt.

Syntax

HRESULT OnArmWakeFromS0(
  [in] IWDFDevice *pWdfDevice
);

Parameter

[in] pWdfDevice

Ein Zeiger auf die IWDFDevice-Schnittstelle des Geräteobjekts, das eines der Treibergeräte darstellt.

Rückgabewert

Wenn der Vorgang erfolgreich ist, muss die OnArmWakeFromS0-Rückruffunktion S_OK oder einen anderen status Wert zurückgeben, für den SUCCEEDED(status) gleich TRUE ist. Andernfalls muss ein status Wert zurückgegeben werden, für den SUCCEEDED(status) gleich FALSE ist.

Wenn SUCCEEDED(status) gleich FALSE ist, ruft das Framework die Rückruffunktion IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 des Treibers auf. (Das Framework meldet keinen Gerätefehler an den PnP-Manager.)

Hinweise

Ihr Treiber muss eine OnArmWakeFromS0-Rückruffunktion bereitstellen, wenn der Treiber die IPowerPolicyCallbackWakeFromS0-Schnittstelle unterstützt.

Die OnArmWakeFromS0-Rückruffunktion verarbeitet gerätespezifische Vorgänge, die erforderlich sind, damit das Gerät ein externes Ereignis erkennen kann, das ein Aktivierungssignal auf dem Bus auslöst. Der Bustreiber im Kernelmodus verarbeitet busspezifische Vorgänge, z. B. das Aktivieren des PME-Signals (Power Management Event) des PCI-Busses.

Wenn der Treiber eine OnArmWakeFromS0-Rückruffunktion registriert hat, ruft das Framework diese auf, während sich das Gerät noch im Gerätestromzustand D0 befindet, bevor der Bustreiber den Energiezustand des Geräts senkt, aber nachdem das Framework im Namen des Treibers einen Warte-/Aktivierungs-IRP gesendet hat.

Der Prozess erfolgt in der folgenden Reihenfolge:

  1. Das Framework bestimmt, dass sich das Gerät für eine voreingestellte Zeit im Leerlauf befindet.
  2. Das Framework ruft die Rückruffunktion OnArmWakeFromS0 des Treibers auf.
  3. Das Framework fordert den Treiber für den Bus des Geräts an, um die Leistung des Geräts zu verringern.
Unmittelbar bevor Ihr Gerät in einen Energiesparzustand wechselt, ruft das Framework die IPnpCallback::OnD0Exit-Rückruffunktion Ihres Treibers auf.

Weitere Informationen dazu, wann das Framework diese Rückruffunktion aufruft, finden Sie unter PnP- und Energieverwaltungsszenarien in UMDF.

Sie müssen keine OnArmWakeFromS0-Rückruffunktion bereitstellen, wenn Ihr Gerät:

  • Ist ein USB-Gerät, das "selektives Anhalten" unterstützt.
  • Kann nicht heruntergefahren werden, während das System vollständig mit Strom versorgt wird.
  • Erfordert keine speziellen Hardwarevorgänge, die es dem Gerät ermöglichen, ein Aktivierungssignal auszulösen.
Wenn Ihr Gerät "selektives Anhalten" von USB unterstützt und Ihr Treiber idleUsbSelectiveSuspend angibt, wenn IWDFDevice2::AssignS0IdleSettings aufgerufen wird, sendet das Framework eine Anforderung zum selektiven Anhalten an den USB-Bustreiber, wenn sich das Gerät für einen voreingestellten Zeitraum im Leerlauf befindet.

Weitere Informationen zu dieser Rückruffunktion finden Sie unter Unterstützen von leerlaufbasierten Power-Down in UMDF-basierten Treibern.

Anforderungen

Anforderung Wert
Ende des Supports In UMDF 2.0 und höher nicht verfügbar.
Zielplattform Desktop
UMDF-Mindestversion 1.9
Kopfzeile wudfddi.h (include Wudfddi.h)

Weitere Informationen

IPowerPolicyCallbackWakeFromS0

IPowerPolicyCallbackWakeFroms0::OnDisarmWakeFroms0

IPowerPolicyCallbackWakeFroms0::OnWakeFroms0Triggered