各 Hyper-V 拡張可能スイッチの宛先ポートは、NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY構造体内のNDIS_SWITCH_PORT_DESTINATION要素によって指定されます。 この配列は、パケットのNET_BUFFER_LIST構造体の帯域外 (OOB) 転送コンテキスト に 含まれています。 このコンテキストの詳細については、「 Hyper-V 拡張可能スイッチ転送コンテキスト」を参照してください。
拡張可能スイッチ拡張機能は 、GetNetBufferListDestinations 関数を呼び出して、パケット のNET_BUFFER_LIST 構造体内のNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体への ポインターを取得します。 この構造体内 の個々のNDIS_SWITCH_PORT_DESTINATION 要素には、 NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX マクロを使用してアクセスできます。
パフォーマンスを向上させるために、転送拡張機能は GetNetBufferListDestinations の代わりに GrowNetBufferListDestinations 関数を呼び出して、NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY構造体へのポインターを取得できます。 この拡張機能は、宛先ポートのパケットの OOB データに追加の配列要素が必要であると判断した場合にこれを行います。 詳細については、「パケットへの拡張可能スイッチ宛先ポート データの追加」を参照してください。
手記 拡張可能スイッチエグレス データ パスから取得されたパケットにのみ、宛先ポート情報が含まれます。 詳細については、「拡張可能スイッチのデータ パス Hyper-V」を参照してください。