重启驱动程序堆栈

NDIS 在插入筛选器模块或添加绑定等操作后重启驱动程序堆栈。 驱动程序堆栈重启操作将按如下所示进行:

  1. NDIS 重启微型端口适配器。

    NDIS 调用微型端口驱动程序的 MiniportRestart 函数后,微型端口适配器将进入“正在重启”状态。 微型端口驱动程序准备恢复发送和接收操作。 如果准备失败,微型端口适配器将返回到“已暂停”状态。 驱动程序准备好继续发送和接收操作后,微型端口适配器将进入“正在运行”状态。

  2. NDIS 重启筛选器模块,从驱动程序堆栈的底部开始,一直升级到协议驱动程序。

    NDIS 调用筛选器驱动程序的 FilterRestart 函数后,筛选器模块将进入“正在重启”状态。 筛选器驱动程序准备恢复发送和接收操作。 如果准备失败,模块将返回到“已暂停”状态。 驱动程序准备好恢复发送和接收操作后,筛选器模块将进入“正在运行”状态。

  3. NDIS 将 PnP 重启事件发送到协议驱动程序。

    绑定进入“正在重启”状态。 协议驱动程序准备恢复发送和接收操作。 如果准备失败,绑定将返回到“已暂停”状态。 在协议驱动程序准备好恢复发送和接收操作后,绑定将进入“正在运行”状态。