设备 (UMDF 1) 返回到其工作状态

警告

UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 未向 UMDF 1 添加新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。

存档的 UMDF 1 示例可在 Windows 11 版本 22H2 - 2022 年 5 月驱动程序示例更新中找到。

有关详细信息,请参阅使用 UMDF 入门

如果发生以下情况之一,处于低功耗状态的设备将返回到其工作状态:

  • 设备检测到外部事件并在其总线上触发唤醒信号。 内核模式总线驱动程序检测唤醒信号。

  • 设备处于空闲状态,驱动程序调用 IWDFDevice2::StopIdle

  • 系统的电源状态已从低功率状态更改为其工作 (S0) 状态。

在上述每种情况下,内核模式总线驱动程序都会将设备 (总线) 的子设备还原到其工作 (D0) 状态。

对于支持设备的每个基于 UMDF 的函数和筛选器驱动程序,框架依次执行以下操作,一次一个驱动程序,从驱动程序堆栈中最低的驱动程序开始:

  1. 框架调用驱动程序的 IPnpCallback::OnD0Entry 回调函数 ((如果存在) )。

  2. 如果驱动程序是设备的电源策略所有者,框架将调用其 IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx 回调函数。

  3. 框架会重启设备的所有电源托管 I/O 队列,并在必要时 (调用其 IQueueCallbackIoResume::OnIoResume 回调函数) 。

  4. 如果驱动程序使用自托管 I/O,框架将调用驱动程序的 IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart 回调函数。

若要查看显示这些步骤的关系图,请参阅 用户插入设备