IPowerPolicyCallbackWakeFromSx::OnArmWakeFromSx 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,并取代 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]

驱动程序的 OnArmWakeFromSx 事件回调函数支持 (即启用) 设备,以便在设备处于低功耗状态时触发唤醒信号。 唤醒信号导致设备进入其工作状态 (D0) ,系统进入其工作状态 (S0) 。

语法

HRESULT OnArmWakeFromSx(
  [in] IWDFDevice *pWdfDevice
);

参数

[in] pWdfDevice

指向表示驱动程序设备之一的设备对象的 IWDFDevice 接口的指针。

返回值

如果操作成功,OnArmWakeFromSx 回调函数必须返回S_OK或成功 (状态) 等于 TRUE 的其他状态值。 否则,它必须返回成功 (状态) 等于 FALSE 的状态值。

如果 SUCCEEDED (状态) 等于 FALSE,框架将调用驱动程序的 IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx 回调函数。 (框架不会向 PnP 管理器报告设备故障。)

注解

如果驱动程序支持 IPowerPolicyCallbackWakeFromSx 接口,则驱动程序必须提供 OnArmWakeFromSx 回调函数。

此回调函数处理设备特定的操作,使设备能够检测在总线上触发唤醒信号的外部事件。 内核模式总线驱动程序处理特定于总线的操作,例如启用 PCI 总线的电源管理事件 (PME) 信号。

如果驱动程序已注册 OnArmWakeFromSx 回调函数,框架会在设备仍处于 D0 设备电源状态时调用它,然后总线驱动程序降低设备的电源状态,但在框架代表驱动程序发送 等待/唤醒 IRP 后调用它。

此过程按以下顺序发生:

  1. 框架确定系统即将进入低功耗系统状态。
  2. 框架调用驱动程序的 OnArmWakeFromSx 回调函数。
  3. 框架要求驱动程序为设备的总线降低设备的功率。
在设备进入低功耗状态之前,框架立即调用驱动程序的 IPnpCallback::OnD0Exit 回调函数。

有关框架何时调用此回调函数的详细信息,请参阅 UMDF 中的 PnP 和电源管理方案

如果你的设备不需要使设备能够触发唤醒信号的特殊硬件操作,则无需提供 OnArmWakeFromSx 回调函数。

有关此回调函数的详细信息,请参阅 支持基于 UMDF 的驱动程序中的系统 Wake-Up

要求

要求
结束支持 在 UMDF 2.0 及更高版本中不可用。
目标平台 桌面
最低 UMDF 版本 1.9
标头 wudfddi.h (包括 Wudfddi.h)

另请参阅

IPowerPolicyCallbackWakeFromSx

IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx

IPowerPolicyCallbackWakeFromSx::OnWakeFromSxTriggered