Hyper-V 拡張可能スイッチ拡張機能の INF 要件

Hyper-V 拡張可能スイッチの拡張機能は、NDIS フィルター ドライバーとして開発されています。 その結果、拡張機能の INF 要件は、すべての NDIS フィルター ドライバーの INF 要件に基づいています。 拡張可能スイッチの拡張機能における INF ファイルを作成する場合は、変更または監視フィルター ドライバーの INF 設定を使用する必要があります。 これらの設定の詳細については、「フィルター ドライバーの INF ファイル設定」を参照してください。

また、拡張可能スイッチの拡張機能における INF ファイルについては、次のガイドラインに従う必要があります。

  • 拡張可能スイッチの拡張機能は、変更フィルター ドライバーとしてインストールする必要があります。

    変更フィルター ドライバーの INF 要件の詳細については、「変更フィルター ドライバーの INF ファイルの構成」を参照してください。

    注: ms_switch_capture のフィルター クラスを持つ拡張機能は、監視フィルター ドライバーと同じタスクを実行できます。 詳細については、「フィルター ドライバーの種類」を参照してください。

  • フィルター INF ファイルの FilterMediaTypes エントリは、他のドライバーとインターフェイスへのドライバーのバインドを定義します。 拡張可能スイッチの拡張機能における FilterMediaTypes エントリには、vmnetextension 値を含める必要があります。 この値は、拡張可能スイッチの拡張ミニポート アダプターへのバインドを指定します。

    FilterMediaTypes エントリを使用すると、メディアの種類のコンマ区切りリストを指定できます。 これにより、拡張機能を物理インターフェイスまたは拡張可能スイッチ インターフェイスにバインドできます。

    次の例は、物理イーサネット ネットワーク アダプターまたは拡張可能スイッチ仮想ネットワーク アダプターのいずれかに拡張機能をバインドできるようにする FilterMediaTypes エントリを示しています。

    HKR, Ndi\Interfaces, FilterMediaTypes, , "ethernet, vmnetextension"
    

    FilterMediaTypes エントリが vmnetextension 値のみを指定する場合、拡張機能はシステム上のすべての拡張可能スイッチのドライバー スタックにのみバインドされます。

    FilterMediaTypes エントリが vmnetextension と他のメディアの種類を指定する場合、拡張機能は NdisFGetOptionalSwitchHandlers を呼び出すことによって、拡張可能スイッチ ドライバー スタック内でバインドされているかどうかを判断できます。 関数が NDIS_STATUS_SUCCESS を返す場合、拡張機能は拡張ドライバー スタック内でバインドされます。 関数が NDIS_STATUS_NOT_SUPPORTED を返す場合、拡張機能は、別の物理ネットワーク インターフェイスのドライバー スタック内でバインドされます。

    FilterMediaTypes エントリの詳細については、「中間ドライバー UpperRange と LowerRange INF ファイル エントリ」を参照してください。

  • 拡張機能の INF ファイルの FilterClass 値は、フィルターのスタック内の順序を決定します。 FilterClass エントリには、次の表のいずれか 1 つの値が含まれている必要があります。

    FilterClass 値 説明

    ms_switch_capture

    このクラスの拡張機能は、パケット トラフィックを監視します。 ただし、このクラスの拡張機能では、ポート ポリシーを適用したり、パケットの宛先ポートを変更したりすることはできません。

    このクラスの拡張機能の詳細については、「キャプチャ拡張機能」を参照してください。

    ms_switch_filter

    このクラスの拡張機能は、パケット トラフィックをフィルター処理し、拡張可能スイッチを介したパケット配信のポートまたはスイッチ ポリシーを適用します。 このクラスのドライバーは、ポリシー設定に基づいて各パケットの宛先ポートを検査および削除することもできます。

    このクラスの拡張機能の詳細については、「フィルタリング拡張機能」を参照してください。

    ms_switch_forward

    このクラスの拡張機能には、ms_switch_filter クラスと同じ機能があります。 このクラスの拡張機能では、他の拡張可能スイッチ ポートにパケットを転送したり、拡張可能なスイッチ ポートにパケット トラフィックを挿入したりすることもできます。

    イングレス データ パスでは、このクラスの拡張機能は、ms_switch_filter クラスの拡張機能の後に呼び出されます。 エグレス データ パスでは、このクラスの拡張機能は、ms_switch_filter クラスの拡張機能の前に呼び出されます。

    このクラスの拡張機能の詳細については、「拡張機能の転送」を参照してください。

    注: 拡張可能スイッチ ドライバー スタックでは、このクラスの 1 つの拡張機能のみが許可されます。

これらの INF 設定で拡張機能がインストールされると、すべての拡張可能スイッチ インスタンスにバインドするように構成されます。 ただし、バインドは無効になり、PowerShell コマンドレットを使用して明示的に有効にする必要があります。 この手順の詳細については、「Hyper-V 拡張可能スイッチ の拡張機能の有効化」を参照してください。