NDIS 驱动程序堆栈

下图显示了网络驱动程序接口规范 6.0 驱动程序堆栈中逻辑元素的基本配置。 堆栈具有未指定数量的筛选器模块。 箭头表示堆栈元素之间的信息流。

图显示了包含筛选器模块的 NDIS 6.0 驱动程序堆栈的基本配置。

如上图所示,可以通过微型端口适配器堆叠任意数量的筛选器模块。 这些模块可以是不同筛选器驱动程序的实例,也可以是同一筛选器驱动程序的多个实例。 如果微型端口驱动程序管理多个微型端口适配器,则每个微型端口适配器上可以存在单独的驱动程序堆栈。

协议驱动程序与微型端口适配器绑定。 因此,驱动程序堆栈中的基础筛选器模块对协议驱动程序是透明的。 若要获取有关基础筛选器模块的信息,协议驱动程序可以枚举驱动程序堆栈中的筛选器模块。

如果多个协议驱动程序绑定到微型端口适配器,则两个协议驱动程序的筛选器模块都是相同的。 根据绑定,NDIS 会将请求路由到正确的协议驱动程序。

带有中间驱动程序的 NDIS 6.0 堆栈

下图显示了具有中间驱动程序的 NDIS 6.0 驱动程序堆栈。

表明具有中间驱动程序的 NDIS 6.0 驱动程序堆栈的示意图。

如果在驱动程序堆栈中包含 NDIS 中间驱动程序,则堆栈实质上是两个堆栈:一个堆栈高于另一个堆栈。

中间驱动程序的虚拟微型端口为上层堆栈提供微型端口适配器,而中间驱动程序的协议边缘为下层堆栈提供协议绑定。

虚拟微型端口与任何其他微型端口适配器具有相同的状态。 有关微型端口适配器状态的详细信息,请参阅 微型端口驱动程序的适配器状态。

中间驱动程序的协议边缘应实现与协议驱动程序相同的绑定状态。 有关绑定状态的详细信息,请参阅协议驱动程序 绑定状态