NetAdapterCx 客户端驱动程序的启动序列
下图显示了 NetAdapterCx 在将设备引入完全工作状态时,调用客户端驱动程序事件回调函数的顺序,这一过程从图中底部的设备到达状态开始。
宽横线标记启动设备所涉及的步骤。 图左侧的列描述了该步骤,右侧的列列出了完成该步骤的事件回调。 标有蓝色文本的步骤特定于 NetAdapterCx,而其他步骤则适用于所有基于 WDF 的驱动程序。
在图的底部,该设备不在系统上。 当用户插入设备时,框架首先调用驱动程序的 EvtDriverDeviceAdd 回调,以便驱动程序可以创建设备对象来表示设备。 该框架通过向上遍历序列来继续调用驱动程序的回调例程,直到设备可以运行为止。 请记住,框架按自下而上的顺序调用事件回调,如图所示,因此 EvtDeviceFilterRemoveResourceRequirements 会在 EvtDeviceFilterAddResourceRequirements 等之前被调用,以此类推。 如果设备停止重新平衡资源或实际存在,但处于低功率状态,则不需要执行所有步骤,如图所示。