共用方式為


EVT_WDF_DEVICE_ARM_WAKE_FROM_SX回呼函式 (wdfdevice.h)

[適用於 KMDF 和 UMDF]

驅動程式的 EvtDeviceArmWakeFromSx 事件回呼函式臂(也就是啟用)裝置,使其可在低功率裝置狀態時觸發喚醒訊號。 喚醒訊號會讓裝置進入其工作狀態 (D0),並讓系統進入其工作狀態 (S0)。

語法

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtWdfDeviceArmWakeFromSx;

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

參數

[in] Device

架構裝置物件的句柄。

傳回值

如果 EvtDeviceArmWakeFromSx 回呼函式沒有發生錯誤,它必須傳回STATUS_SUCCESS或另一個狀態值,NT_SUCCESS狀態等於 TRUE。 否則,它必須傳回狀態值,NT_SUCCESS(狀態) 等於 FALSE

如果 NT_SUCCESS(status) 等於 FALSE,架構會呼叫驅動程式的 EvtDeviceDisarmWakeFromSx 回呼函式。 (架構不會向 PnP 管理員回報裝置失敗。

言論

若要註冊 EvtDeviceArmWakeFromSx 回呼函式,驅動程式必須呼叫 WdfDeviceInitSetPowerPolicyEventCallbacks。 驅動程式可以註冊 EvtDeviceArmWakeFromSx 回呼函式或 EvtDeviceArmWakeFromSxWithReason 回呼函式,但不能同時註冊兩者。

此回呼函式會處理裝置特定作業,讓裝置偵測觸發總線喚醒訊號的外部事件。 總線驅動程式的 EvtDeviceEnableWakeAtBus 回呼函式會處理匯流特定的作業,例如啟用PCI總線的電源管理事件 (PME) 訊號。

如果驅動程式已註冊 EvtDeviceArmWakeFromSxEvtDeviceArmWakeFromSxWithReason 回呼函式, 架構會在裝置仍處於 D0 裝置電源狀態時呼叫它,然後總線驅動程式會降低裝置的電源狀態,但在架構已代表驅動程式傳送 等候/喚醒 IRP 之後。

此程式會依下列順序進行:

  1. 架構會判斷系統即將進入低功率系統狀態。
  2. 架構會呼叫驅動程式的 EvtDeviceArmWakeFromSxEvtDeviceArmWakeFromSxWithReason 回呼函式。
  3. 架構會要求驅動程式讓裝置的總線降低裝置的電源。
在裝置進入低功率狀態之前,架構會呼叫驅動程式的 EvtDeviceD0Exit 回呼函式。

如需架構呼叫此回呼函式時的詳細資訊,請參閱 PnP 和 Power Management Scenarios

如果您的裝置不需要特殊的硬體作業來觸發喚醒訊號,則您不需要提供 EvtDeviceArmWakeFromS x 或 EvtDeviceArmWakeFromSxWithReason 回呼函式。

如需此回呼函式的詳細資訊,請參閱 支援系統喚醒

要求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
標頭 wdfdevice.h (包括 Wdf.h)
IRQL PASSIVE_LEVEL

另請參閱

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSxWithReason

EvtDeviceDisarmWakeFromSx