移植 PnP 和电源管理

WDF 为 即插即用 (PnP) 和电源管理实现智能默认值,因此简单的驱动程序 (包括大多数筛选器驱动程序) 不需要其他代码来满足 PnP 的基本要求。 框架会自动创建和管理 PnP、电源管理和电源策略状态机。 默认情况下:

  • FDO 拥有设备的电源策略。
  • 只需要 EvtDriverDeviceAdd 回调;所有其他 PnP 和电源管理回调都是可选的。 驱动程序实现其他回调以支持特定于设备的功能。
  • 框架为所有 WDFQUEUE 对象实现电源管理,因此,默认情况下,仅当设备硬件可用时,请求才会从队列中调度到驱动程序的 I/O 事件回调, (即处于 D0 状态) 。

如果设备不支持中断或映射内存,或者在发生电源转换时需要初始化或取消初始化,则 WDF 驱动程序只需要 EvtDriverDeviceAdd 回调。 插入或删除设备时,框架会按定义的顺序调用 PnP 和电源事件回调。 本节中的主题介绍顺序,对于 PDO、FDO 和筛选器 DO,顺序略有不同:

有关对应于每个次要 PnP 和电源 IRP 代码的回调的完整列表,请参阅 WDM IRP 和 WDF 事件回调函数

有关在基于框架的驱动程序中支持 PnP 和电源管理的详细信息,请参阅以下主题: