NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY構造体 (ndis.h)
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体は、パケットの拡張可能スイッチの宛先ポート Hyper-V 配列を指定します。 配列内の各要素は、NDIS_SWITCH_PORT_DESTINATION 構造体として書式設定されます。
この情報は、パケットの NET_BUFFER_LIST 構造の帯域外 (OOB) データに含まれています。
構文
typedef struct _NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY {
NDIS_OBJECT_HEADER Header;
UINT32 ElementSize;
UINT32 NumElements;
UINT32 NumDestinations;
PVOID FirstElement;
} NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY, *PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY;
メンバーズ
Header
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体の型、リビジョン、およびサイズ。 このメンバーは、NDIS_OBJECT_HEADER 構造体として書式設定されます。
ヘッダー の Type メンバーを NDIS_OBJECT_TYPE_DEFAULT に設定する必要があります。 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体のバージョンを指定するには、Header の Revision メンバーを次の値に設定する必要があります。
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1
NDIS 6.30 以降の元のバージョン。
Size メンバーをNDIS_SIZEOF_NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1に設定します。
ElementSize
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体に続く各 NDIS_SWITCH_PORT_DESTINATION 要素のサイズをバイト単位で指定する ULONG 値。
NumElements
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体内の NDIS_SWITCH_PORT_DESTINATION 要素の合計数を指定する ULONG 値。
NumElements メンバーの値は、現在使用されている NDIS_SWITCH_PORT_DESTINATION 要素の数 (NumDestinations メンバーで指定) と、新しい宛先ポートで使用できる要素の数を指定します。 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体の未使用の NDIS_SWITCH_PORT_DESTINATION 要素の数は、(NumElements - NumDestinations) によって計算されます。
NumDestinations
ポートの宛先を指定する NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体内の NDIS_SWITCH_PORT_DESTINATION 要素の数を指定する ULONG 値。
FirstElement
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体とそのすべての要素を含むバッファー内の最初の NDIS_SWITCH_PORT_DESTINATION 要素へのポインター。
備考
拡張可能スイッチ拡張機能は、パケットの NET_BUFFER_LIST 構造内の宛先ポートで次の操作を実行できます。
-
パケットの転送先となる拡張可能スイッチの現在の宛先ポートに対してクエリを実行します。
拡張可能スイッチ拡張機能は、GetNetBufferListDestinations 関数を呼び出して、パケットのポート宛先の配列を取得します。 GetNetBufferListDestinations は、Destinations パラメーター内の NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体へのポインターを返します。
詳細については、「パケットの拡張可能スイッチの宛先ポート データ のクエリをする」を参照してください。
-
パケットの宛先ポートを追加または変更します。
パケットの現在の宛先ポートに対してクエリを実行した後、拡張可能スイッチ拡張機能は次の操作を実行できます。
- 転送拡張機能では、NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造に新しい宛先ポートを追加できます。
-
フィルター処理または転送拡張機能は、宛先ポートの NDIS_SWITCH_PORT_DESTINATION 構造内のデータを変更できます。
注 フィルター拡張機能は、この構造体の isExcluded メンバー のみを変更できます。 転送拡張機能は、PreserveVLAN と PreservePriority メンバー 変更することもできます。
詳細については、「Hyper-V 拡張可能スイッチの宛先ポート データの管理」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.30 以降でサポートされています。 |
ヘッダー | ndis.h (Ndis.h を含む) |
関連項目
GetNetBufferListDestinations の
ハイブリッド転送 の
NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX
Hyper-V 拡張可能スイッチ の概要
UpdateNetBufferListDestinations の