中间驱动程序设计概念

本部分提供一些基本信息来帮助你开始编写 NDIS 中间驱动程序。 若要编写 NDIS 中间驱动程序,必须了解 NDIS 微型端口驱动程序以及协议驱动程序操作和函数。

Microsoft Windows 驱动程序工具包 (WDK) 中的 MUX 中间驱动程序示例提供了一个可适应特定需求的 n 对一 MUX 中间驱动程序的基本示例。

必须反序列化 NDIS 中间驱动程序的虚拟微型端口。 反序列化的驱动程序 序列化其自己的 MiniportXxx 函数的操作,并在内部将所有传入的发送网络数据排队,而不是依赖 NDIS 来执行这些操作。 如果驱动程序的关键部分 (一次只能由一个线程执行的代码,) 保持较小,则此操作将显著提高全双工性能。 有关反序列化驱动程序的详细信息,请参阅 反序列化的 NDIS 微型端口驱动程序

NDIS 中间驱动程序只能支持其虚拟微型端口的无连接通信。 但是,在其协议接口上,NDIS 中间驱动程序可以支持无连接通信或面向连接的通信。 有关面向连接的通信的详细信息,请参阅 面向连接的 NDIS

中间驱动程序通常分层在一个或多个 NDIS 微型端口驱动程序上方和传输驱动程序下方。 中间驱动程序也可以与其他中间驱动程序分层。

以下主题提供有关编写 NDIS 中间驱动程序的其他信息:

中间驱动程序 DriverEntry 函数

中间驱动程序中的动态绑定

中间驱动程序查询和设置操作

中间驱动程序网络数据管理

在中间驱动程序中接收数据

通过中间驱动程序传输网络数据

在中间驱动程序中处理 PnP 事件和电源管理事件

中间驱动程序重置操作

中间驱动程序中的状态指示