维护网络接口堆栈

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 示例驱动程序。