设备 (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 的函数和筛选器驱动程序,框架依次执行以下操作,一次一个驱动程序,从驱动程序堆栈中最低的驱动程序开始:
框架调用驱动程序的 IPnpCallback::OnD0Entry 回调函数 ((如果存在) )。
如果驱动程序是设备的电源策略所有者,框架将调用其 IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 或 IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx 回调函数。
框架会重启设备的所有电源托管 I/O 队列,并在必要时 (调用其 IQueueCallbackIoResume::OnIoResume 回调函数) 。
如果驱动程序使用自托管 I/O,框架将调用驱动程序的 IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart 回调函数。
若要查看显示这些步骤的关系图,请参阅 用户插入设备。