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 構造体として書式設定されます。
Header の Type メンバーは、NDIS_OBJECT_TYPE_DEFAULTに設定する必要があります。 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY構造体のバージョンを指定するには、Header の Revision メンバーを次の値に設定する必要があります。
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1
NDIS 6.30 以降の元のバージョン。
[サイズ] メンバーを [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要素の数は、(NumElementsNumDestinations - ) によって計算されます。
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 以降でサポートされています。 |
Header | ndis.h (Ndis.h を含む) |
こちらもご覧ください