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 (状态) 等於 FALSE,架構會呼叫驅動程式的 EvtDeviceDisarmWakeFromSx 回 呼函式。 (架構不會向 PnP 管理員回報裝置失敗。)
備註
若要註冊 EvtDeviceArmWakeFromSx 回呼函式,驅動程式必須呼叫 WdfDeviceInitSetPowerPolicyEventCallbacks。 驅動程式可以註冊 EvtDeviceArmWakeFromSx 回調函式或 EvtDeviceArmWakeFromSxWithReason 回呼函式,但不能同時註冊兩者。
此回呼函式會處理裝置特定作業,讓裝置能夠偵測觸發公交車喚醒訊號的外部事件。 總線驅動程式的 EvtDeviceEnableWakeAtBus 回呼函式會處理總線特定的作業,例如啟用 PCI 總線的電源管理事件 (PME) 訊號。
如果驅動程式已註冊 EvtDeviceArmWakeFromSx 或 EvtDeviceArmWakeFromSxWithReason 回呼函式,則當裝置仍在 D0 裝置電源狀態時,架構會在總線驅動程式降低裝置的電源狀態之前呼叫它,但在架構代表驅動程式傳送 等候/喚醒 IRP 之後。
此程式會以下欄順序發生:
- 架構會判斷系統即將進入低電源系統狀態。
- 架構會呼叫驅動程式的 EvtDeviceArmWakeFromSx 或 EvtDeviceArmWakeFromSxWithReason 回呼函式。
- 架構會要求驅動程式輸入裝置的總線,以降低裝置的電源。
如需架構何時呼叫此回呼函式的詳細資訊,請參閱 PnP 和電源管理案例。
如果您的裝置不需要特殊的硬體作業來觸發喚醒訊號,您就不需要提供 EvtDeviceArmWakeFromSx 或 EvtDeviceArmWakeFromSxWithReason 回呼函式。
如需此回呼函式的詳細資訊,請參閱 支援系統喚醒。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfdevice.h (包含 Wdf.h) |
IRQL | PASSIVE_LEVEL |