修改正在运行的驱动程序堆栈

NDIS 修改用于插入、删除或重新配置筛选器模块等操作的驱动程序堆栈。 NDIS 可以在筛选器模块中激活或停用绕过模式。 有关筛选器驱动程序中绕过模式的详细信息,请参阅 数据绕过模式

注意 如果筛选器驱动程序入口点 (更改,即由于绕过模式) ,NDIS 将暂停并重启驱动程序堆栈。 暂停和重启可能会导致某些网络数据包在传输路径或接收路径上被删除。 提供可靠传输机制的网络协议可能会在数据包丢失时重试网络 I/O 操作,但其他不保证可靠性的协议不会重试该操作。

NDIS 修改正在运行的驱动程序堆栈,如下所示:

  1. NDIS 暂停驱动程序堆栈。

    有关详细信息,请参阅 暂停驱动程序堆栈

  2. NDIS 修改堆栈。

    例如,若要添加筛选器模块,NDIS 将确定将新筛选器模块插入堆栈的位置,并创建、插入和附加筛选器模块。

  3. 插入或删除筛选器模块时,驱动程序堆栈的特征可能会更改。 在这种情况下,NDIS 会向驱动程序堆栈中的所有协议绑定和筛选器模块发送即插即用事件通知,以通知驱动程序此更改。

  4. NDIS 重启驱动程序堆栈。

    有关详细信息,请参阅 重启驱动程序堆栈