NDIS ドライバー スタック
基本スタック構成
次の図は、NDIS 6.0 ドライバー スタック内の論理要素の基本的な構成を示しています。 この図は、フィルター モジュールの数が指定されていないドライバー スタックを示しています。 矢印は、スタックの要素間の情報フローを表します。
上の図に示すように、ミニポート アダプターを介して任意の数のフィルター モジュールをスタックできます。 これらのモジュールは、異なるフィルター ドライバーのインスタンスや、同じフィルター ドライバーの複数のインスタンスとなる可能性があります。 ミニポート ドライバーが複数のミニポート アダプターを管理している場合、各ミニポート アダプター上に別個のドライバー スタックが存在できます。
プロトコル ドライバーは、ミニポート アダプターにバインドされます。 そのため、ドライバー スタック内の基になるフィルター モジュールはプロトコル ドライバーに対して透過的になります。 基になるフィルター モジュールに関する情報を取得するため、プロトコル ドライバーは、ドライバー スタック内のフィルター モジュールを列挙できます。
複数のプロトコル ドライバーがミニポート アダプターにバインドされている場合、フィルター モジュールは両方のプロトコル ドライバーで同じになります。 バインドに基づいて、NDIS は要求を適切なプロトコル ドライバーにルーティングします。
中間ドライバーを含む NDIS 6.0 スタック
次の図は、中間ドライバーを含む NDIS 6.0 ドライバー スタックを示しています。
ドライバー スタックに NDIS 中間ドライバーを含める場合、スタックは基本的に、互いに上下になった 2 つのスタックです。
中間ドライバーの仮想ミニポートは、上位スタックのミニポート アダプターを提供しますが、中間ドライバーのプロトコル エッジは、下位スタックのプロトコル バインドを提供します。
仮想ミニポートには、他のミニポート アダプターと同じ状態があります。 ミニポート アダプターの状態について詳しくは、「ミニポート ドライバーのアダプターの状態」をご覧ください。
中間ドライバーのプロトコル エッジは、プロトコル ドライバーと同じバインド状態を実装する必要があります。 バインド状態について詳しくは、「プロトコル ドライバーのバインド状態」をご覧ください。