NetAdapterCx 客户端驱动程序的启动顺序

下图显示了从图底部的“设备到达”状态开始,将设备引入完全运行状态时,NetAdapterCx 调用客户端驱动程序的事件回调函数的顺序:

NetAdapterCx 客户端驱动程序的设备枚举和启动序列。

宽横线标记启动设备所涉及的步骤。 图左侧的列描述了步骤,右侧的列列出了完成该步骤的事件回调。 用蓝色文本标记的步骤特定于 NetAdapterCx,而其他步骤是所有基于 WDF 的驱动程序通用的。

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