维护网络接口堆栈

NDIS 提供服务来维护 RFC 2863) 中的 ifStackTable (接口堆栈表。 NDIS 维护 NDIS 微型端口适配器 NDIS 5 的堆栈表。x 筛选器中间驱动程序和 NDIS 筛选器模块。 NDIS 还提供使 NDIS 驱动程序能够在此表中添加和删除条目的服务。 对于 MUX 中间驱动程序,NDIS 无权访问虚拟微型端口接口与协议下部接口之间的关系。 因此,NDIS 6.0 MUX 中间驱动程序必须指定这些内部接口关系。

若要定义两个接口之间的堆栈关系,任何 NDIS 驱动程序都可以将 HigherLayerIfIndexLowerLayerIfIndex 参数传递给 NdisIfAddIfStackEntry 函数。 这些参数指定一个网络接口,该网络接口在网络接口堆栈中应较高,一个网络接口应在堆栈中较低。

具有与另一个接口相关的接口的堆栈顺序信息的驱动程序 (例如,MUX 中间驱动程序中对 NDIS 不可见的内部绑定) 调用 NdisIfAddIfStackEntry 来填充接口堆栈表。 如果成功创建堆栈条目,此函数将返回NDIS_STATUS_SUCCESS。 通常,拥有 或 是较高层接口的接口提供程序的组件 (HigherLayerIfIndex 标识) 调用 NdisIfAddIfStackEntry

若要删除堆栈表条目,驱动程序会将 HigherLayerIfIndexLowerLayerIfIndex 参数传递给 NdisIfDeleteIfStackEntry 函数。

有关维护接口堆栈的示例,请参阅 MUX 6.0 示例驱动程序。