IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0 方法 (wudfddi.h)

[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 來撰寫。 未將新功能新增至 UMDF 1,且較新版本的 Windows 10 上不支援 UMDF 1。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]

驅動程式的 OnArmWakeFromS0 回呼函式 (即啟用) 裝置,以便在低電源裝置狀態時觸發喚醒訊號,如果系統維持在 系統工作狀態 (S0) 。

語法

HRESULT OnArmWakeFromS0(
  [in] IWDFDevice *pWdfDevice
);

參數

[in] pWdfDevice

代表其中一個驅動程式裝置之裝置物件的 IWDFDevice 介面指標。

傳回值

如果作業成功,OnArmWakeFromS0 回呼函式必須傳回 S_OK 或 (成功狀態) 等於 TRUE 的另一個狀態值。 否則,它必須傳回 STATUSED (狀態) 等於 FALSE的狀態值。

如果 SUCCEEDED (狀態) 等於 FALSE,架構會呼叫驅動程式的 IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 回呼函式。 (架構不會向 PnP 管理員回報裝置失敗。)

備註

如果驅動程序支援 IPowerPolicyCallbackWakeFakeFromS0 介面,您的驅動程式必須提供 OnArmWakeFromS0 回呼函式。

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

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

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

  1. 架構會判斷裝置在默認時間內已閑置。
  2. 架構會呼叫驅動程式的 OnArmWakeFromS0 回呼函式。
  3. 架構會要求裝置總線的驅動程式降低裝置的電源。
在裝置進入低電源狀態之前,架構會呼叫驅動程式的 IPnpCallback::OnD0Exit 回呼函式。

如需架構何時呼叫此回呼函式的詳細資訊,請參閱 UMDF 中的 PnP 和電源管理案例

如果您的裝置,您不需要提供 OnArmWakeFromS0 回呼函式:

  • 這是支援「選擇性暫停」的USB裝置。
  • 當系統保持完全電源時,無法關閉電源。
  • 不需要特殊硬體作業,讓裝置能夠觸發喚醒訊號。
如果您的裝置支援 USB「選擇性暫停」,且您的驅動程式在呼叫 IWDFDevice2::AssignS0IdleSettings 時指定 IdleUsbSelectiveSuspend,則架構會在裝置閒置一段時間後,將「選擇性暫停」要求傳送給 USB 總線驅動程式。

如需此回呼函式的詳細資訊,請參閱 支援 UMDF 型驅動程式中的閒置 Power-Down

規格需求

需求
終止支援 UMDF 2.0 和更新版本中無法使用。
目標平台 桌面
最低UMDF版本 1.9
標頭 wudfddi.h (包括 Wudfddi.h)

另請參閱

IPowerPolicyCallbackWakeFromS0

IPowerPolicyCallbackWakeFroms0::OnDisarmWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnWakeFromS0Triggered