EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON Rückruffunktion (wdfdevice.h)
[Gilt für KMDF und UMDF]
Ein Treiber EvtDeviceArmWakeFromSxWithReason Ereignisrückruffunktionsarme (d. h. aktiviert) ein Gerät, sodass es ein Wakesignal auslösen kann, während er sich in einem Zustand mit geringem Stromverbrauch 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_WITH_REASON EvtWdfDeviceArmWakeFromSxWithReason;
NTSTATUS EvtWdfDeviceArmWakeFromSxWithReason(
[in] WDFDEVICE Device,
[in] BOOLEAN DeviceWakeEnabled,
[in] BOOLEAN ChildrenArmedForWake
)
{...}
Parameter
[in] Device
Ein Handle zu einem Framework-Geräteobjekt.
[in] DeviceWakeEnabled
Ein boolescher Wert, der, wenn TRUE, angibt, dass die Fähigkeit des Geräts, das System zu reaktivieren, aktiviert ist.
[in] ChildrenArmedForWake
Ein boolescher Wert, der, wenn TRUE, angibt, dass die Fähigkeit eines oder mehrerer untergeordneter Geräte, das System zu reaktivieren, aktiviert ist.
Rückgabewert
Wenn die EvtDeviceArmWakeFromSxWithReason Rückruffunktion keinen Fehler aufweist, muss STATUS_SUCCESS oder ein anderer Statuswert zurückgegeben werden, 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) gleich FALSE-ist, ruft das Framework die EvtDeviceDisarmWakeFromSx Rückruffunktion auf. (Das Framework meldet keinen Gerätefehler beim PnP-Manager.)
Bemerkungen
Version 1.7 und höhere Versionen von KMDF unterstützen die EvtDeviceArmWakeFromSxWithReason Rückruffunktion zusätzlich zur EvtDeviceArmWakeFromSx Rückruffunktion.
Um eine EvtDeviceArmWakeFromSxWithReason 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.
Die EvtDeviceArmWakeFromSxWithReason Rückruffunktion stellt zwei Parameter bereit, mit denen der Treiber bestimmen kann, warum das Framework es aufgerufen hat:
- Das Framework legt den parameter DeviceWakeEnabled auf TRUE fest, wenn das Enabled Member der WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS-Struktur angibt, dass das Gerät das System reaktivieren kann.
- Das Framework legt den parameter ChildrenArmedForWake auf TRUE fest, wenn ein oder mehrere untergeordnete Geräte des Geräts das System reaktivieren können und das ArmForWakeIfChildrenAreArmedForWake Member von WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS auf TRUEfestgelegt ist.
- Das Gerät des Treibers ist aktiviert, um das System zu reaktivieren.
- Mindestens eines der untergeordneten Geräte des Geräts ist aktiviert, um das System zu aktivieren.
- Sowohl das Gerät als auch ein oder mehrere seiner untergeordneten Geräte können das System reaktivieren.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.7 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfdevice.h (einschließen Wdf.h) |
IRQL- | PASSIVE_LEVEL |