暂停驱动程序堆栈

NDIS 暂停驱动程序堆栈以完成插入筛选器模块或添加绑定等操作。 通常,驱动程序堆栈暂停操作将按如下所示进行:

  1. NDIS 将 PnP 暂停事件发送到协议驱动程序。

    绑定进入暂停状态。 完成所有未完成的发送请求后,协议驱动程序将完成 PnP 事件。 绑定处于“已暂停”状态。

  2. NDIS 暂停所有筛选器模块,从堆栈顶部开始,并向下推进到微型端口驱动程序。

    NDIS 调用筛选器驱动程序的 FilterPause 函数后,筛选器模块将进入暂停状态。 NDIS 返回所有未完成的接收指示并完成所有未完成的发送操作后,筛选器模块将进入“已暂停”状态。

  3. NDIS 暂停微型端口适配器。

    NDIS 调用微型端口驱动程序的 MiniportPause 函数后,微型端口适配器将进入暂停状态。 NDIS 返回所有未完成的接收指示后,微型端口适配器将进入“已暂停”状态。

注意 NDIS 驱动程序无法使暂停请求失败。 应记录发生的任何错误。