函数或筛选器驱动程序的启动顺序

下图显示了框架调用 WDF (KMDF 和 UMDF V2) 函数或筛选器驱动程序的事件回调函数的顺序,从图底部的“设备插入”状态开始:

显示 WDF 函数或筛选器驱动程序的设备枚举和启动序列的流程图。

宽横线标记启动设备所涉及的步骤。 图左侧的列描述了步骤,右侧的列列出了完成该步骤的事件回调。

在图的底部,系统不存在该设备。 当用户插入设备时,框架首先调用驱动程序的 EvtDriverDeviceAdd 回调,以便驱动程序可以创建设备对象来表示设备。 框架继续调用驱动程序的回调例程,方法是继续执行序列,直到设备正常运行。 请记住,框架按自下而上的顺序调用事件回调,如图所示,因此 在 EvtDeviceFilterAddResourceRequirements 等之前调用 EvtDeviceFilterRemoveResourceRequirements 。 如果设备已停止以重新平衡资源或实际存在但处于低功耗状态,则并非所有步骤都是必需的,如图所示。