次の方法で共有


フィルター ドライバーの特性

フィルタードライバーには次の特徴があります:

  • フィルター ドライバーのインスタンスはフィルター モジュールと呼ばれています。 フィルター モジュールは、基になるミニポート アダプターにアタッチします。 同じフィルター ドライバーまたは異なるフィルター ドライバーから複数のフィルター モジュールを 1 つのアダプターに積むことが可能です。

  • このようなドライバーと基になるミニポート ドライバーの間にフィルター モジュールがインストールされている場合、代替機能を提供するのに、基になるプロトコル ドライバーは必要ありません (それ以外の場合、フィルター モジュールは、上のプロトコル ドライバーに対して透過的です)。

  • フィルター ドライバーは中間ドライバーのような仮想ミニポートを実装しないため、デバイス オブジェクトに関連付けられません。 上のフィルター モジュールを装備したミニポート アダプターは、ミニポート アダプターの変更版として機能します。 ドライバー スタックの詳細については、「NDIS 6.0 ドライバー スタック」をご覧ください。

  • NDIS は、ドライバー スタックの正しい順序でアダプターにフィルター モジュールをアタッチする構成情報を使用します。 フィルター モジュールのドライバー スタックの順序の詳細については、フィルター ドライバーの INF ファイル 設定をご覧ください。

  • NDIS は、ドライバー スタックへ動的に挿入、フィルター モジュールを削除またはスタック全体を破棄することなく、フィルター モジュールを再構成できます。 詳細については、「実行中のドライバー スタックの変更」を参照してください。

  • プロトコル ドライバーは、NDIS のドライバー スタックの再起動時にドライバー スタック内のフィルター モジュールの一覧を取得できます。

    フィルター モジュールの一覧の詳細については、NDIS_PROTOCOL_RESTART_PARAMETERSをご覧ください。

  • フィルター ドライバーは、基になるミニポート アダプターとの間の通信をほとんどフィルター処理できます。 フィルター モジュールは、上のプロトコル ドライバーとミニポート アダプターの間の特定のバインドに関連付けられていません。 フィルター ドライバーが提供できるフィルター 処理サービスの種類の詳細は、「フィルター ドライバー サービス」を参照してください。

  • フィルター ドライバーはフィルター処理し、フィルター処理されていないサービスにバイパスできるサービスを選択できます。 バイパスされるサービスとフィルター処理されるサービスを選択する際は、動的に再構成することができます。 詳細については「データ バイパス モード」を参照してください。

  • NDIS は、フィルター ドライバーのコンテキスト空間 (NET_BUFFER_LIST_CONTEXT 構造体を参照) の可用性を保証します。 そのため、フィルター ドライバーは、コンテキスト領域を取得するのにバッファーをコピーするコードを入れる必要はありません。 バッファーを管理する方法の詳細については、「フィルター ドライバーバッファー管理」をご覧ください。