ネットワーク インターフェイス スタックの保守

NDIS は、インターフェイス スタック テーブル (RFC 2863 の ifStackTable) をメンテナンスするサービスを提供します。 NDIS は、NDIS ミニポート アダプター、NDIS 5.x フィルター中間ドライバー、NDIS フィルター モジュールなどのスタック テーブルをメンテナンスします。 NDIS は、 NDIS ドライバーがこのテーブル内でエントリを追加および削除することを有効化するサービスも提供します。 MUX 中間ドライバーの場合、NDIS は、仮想ミニポート インターフェイスとプロトコル下位インターフェイスの間の関係にアクセスできません。 そのため、NDIS 6.0 MUX 中間ドライバーは、これらの内部インターフェイスの関係を指定する必要があります。

2 つのインターフェイス間のスタック関係を定義するため、任意の NDIS ドライバーは、HigherLayerIfIndex パラメーターと LowerLayerIfIndex パラメーターをNdisIfAddIfStackEntry 関数に渡すことができます。 これらのパラメーターは、ネットワーク インターフェイス スタック内で上位にする必要がある 1 つのネットワーク インターフェイスと、スタック内で下位にする必要がある 1 つのネットワーク インターフェイスを指定します。

別のインターフェイス (NDIS に表示されない MUX 中間ドライバーの内部バインディングなど) に関連するインターフェイスに関するスタック順序情報を持つドライバーは NdisIfAddIfStackEntry を呼び出してインターフェイス スタック テーブルを設定します。 この関数は、スタック エントリが正常に作成された場合に NDIS_STATUS_SUCCESS を返します。 通常、(HigherLayerIfIndex が識別する) 上位レイヤー インターフェイスであるかそれを所有するコンポーネントは、NdisIfAddIfStackEntry を呼び出します。

スタック テーブル エントリを削除するために、ドライバーは、HigherLayerIfIndex パラメーターと LowerLayerIfIndex パラメーターをNdisIfDeleteIfStackEntry 関数に渡します。

インターフェイス スタックをメンテナンスする例については、MUX 6.0 サンプル ドライバーを参照してください。