Freigeben über


EVT_WDF_DEVICE_ARM_WAKE_FROM_SX Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Ein Treiber EvtDeviceArmWakeFromSx Ereignisrückruffunktionsarme (d. h. aktiviert) ein Gerät, sodass es ein Wakesignal auslösen kann, während er sich in einem Energiesparmodus befindet. Das Wake-Signal bewirkt, dass das Gerät in den Arbeitszustand (D0) wechselt und das System in den Arbeitszustand (S0) wechselt.

Syntax

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtWdfDeviceArmWakeFromSx;

NTSTATUS EvtWdfDeviceArmWakeFromSx(
  [in] WDFDEVICE Device
)
{...}

Parameter

[in] Device

Ein Handle zu einem Framework-Geräteobjekt.

Rückgabewert

Wenn die EvtDeviceArmWakeFromSx Rückruffunktion keinen Fehler aufweist, muss sie STATUS_SUCCESS oder einen anderen Statuswert zurückgeben, für den NT_SUCCESS(Status) TRUEentspricht. Andernfalls muss ein Statuswert zurückgegeben werden, für den NT_SUCCESS(Status) FALSE-entspricht.

Wenn NT_SUCCESS(Status) FALSE-ist, ruft das Framework die EvtDeviceDisarmWakeFromSx- Rückruffunktion des Treibers auf. (Das Framework meldet keinen Gerätefehler beim PnP-Manager.)

Bemerkungen

Um eine EvtDeviceArmWakeFromSx- Rückruffunktion zu registrieren, muss ein Treiber WdfDeviceInitSetPowerPolicyEventCallbacksaufrufen. Treiber können entweder eine EvtDeviceArmWakeFromSx Rückruffunktion oder eine EvtDeviceArmWakeFromSxWithReason Rückruffunktion registrieren, aber nicht beides.

Diese Rückruffunktion behandelt gerätespezifische Vorgänge, die es dem Gerät ermöglichen, ein externes Ereignis zu erkennen, das ein Wakesignal auf dem Bus auslöst. Die EvtDeviceEnableWakeAtBus Rückruffunktion des Busfahrers verarbeitet busspezifische Vorgänge, z. B. die Aktivierung des POWER Management Event (PME)-Signals des PCI-Buss.

Wenn ein Treiber eine EvtDeviceArmWakeFromSx oder EvtDeviceArmWakeFromSxWithReason Rückruffunktion registriert hat, ruft das Framework es auf, während sich das Gerät noch im Energiezustand des D0-Geräts befindet, bevor der Bustreiber den Energiezustand des Geräts verringert, aber nachdem das Framework eine Wait/Wake IRP im Auftrag des Treibers gesendet hat.

Der Prozess erfolgt in der folgenden Reihenfolge:

  1. Das Framework bestimmt, dass das System in einen Systemzustand mit niedriger Stromversorgung wechselt.
  2. Das Framework ruft die EvtDeviceArmWakeFromSx oder EvtDeviceArmWakeFromSxWithReason Rückruffunktion auf.
  3. Das Framework fordert den Treiber auf, den Bus des Geräts zu senken, um die Leistung des Geräts zu senken.
Unmittelbar bevor ein Gerät in einen Energiesparzustand wechselt, ruft das Framework die EvtDeviceD0Exit Rückruffunktion des Treibers auf.

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

Sie müssen keine EvtDeviceArmWakeFromSx- oder EvtDeviceArmWakeFromSxWithReason Rückruffunktion bereitstellen, wenn Ihr Gerät keine speziellen Hardwarevorgänge erfordert, mit denen das Gerät ein Wakesignal auslösen kann.

Weitere Informationen zu dieser Rückruffunktion finden Sie unter Unterstützende System Wake-Up-.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Header- wdfdevice.h (einschließen Wdf.h)
IRQL- PASSIVE_LEVEL

Siehe auch

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSxWithReason

EvtDeviceDisarmWakeFromSx