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 拡張可能スイッチ の拡張機能の有効化」を参照してください。