NDIS 驱动程序堆栈
基本堆栈配置
下图显示了 NDIS 6.0 驱动程序堆栈中逻辑元素的基本配置。 图中显示的是一个带有未指定数量筛选器模块的驱动器堆栈。 箭头表示堆栈元素之间的信息流。
如上图所示,可以在微型端口适配器上堆叠任意数量的筛选器模块。 这些模块可以是不同筛选器驱动程序的实例,也可以是同一筛选器驱动程序的多个实例。 如果一个微型端口驱动程序管理了多个微型端口适配器,则每个微型端口适配器上都可以有一个单独的驱动程序堆栈。
协议驱动程序与微型端口适配器绑定。 因此,驱动程序堆栈中的基础过滤模块对协议驱动程序是透明的。 要获取有关基础筛选器模块的信息,协议驱动程序可以枚举驱动程序堆栈中的筛选器模块。
如果不止一个协议驱动程序与微型端口适配器绑定,则两个协议驱动程序的筛选器模块相同。 根据绑定,NDIS 会将请求路由到正确的协议驱动程序。
带有中间驱动程序的 NDIS 6.0 堆栈
下图显示了带有中间驱动程序的 NDIS 6.0 驱动程序堆栈。
如果在驱动程序堆栈中包含一个 NDIS 中间驱动程序,则堆栈实质上就是两个堆栈:一个在另一个之上。
中间驱动程序的虚拟微型端口为上层堆栈提供微型端口适配器,而中间驱动程序的协议边缘则为下层堆栈提供协议绑定。
虚拟微型端口的状态与其他微型端口适配器相同。 有关微型端口适配器状态的详细信息,请参阅微型端口驱动程序的适配器状态。
中间驱动程序的协议边缘应实现与协议驱动程序相同的绑定状态。 有关绑定状态的详细信息,请参阅协议驱动程序的绑定状态。