NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONSコールバック関数 (ndis.h)
Hyper-V 拡張可能スイッチ拡張機能は、UpdateNetBufferListDestinations 関数を呼び出して、拡張機能が複数の拡張可能スイッチ宛先ポートを含むパケットに加えた変更をコミットします。 この関数は、これらの変更をパケットの NET_BUFFER_LIST 構造体の帯域外 (OOB) 拡張可能スイッチ転送コンテキストに保存します。
構文
NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS NdisSwitchUpdateNetBufferListDestinations;
NDIS_STATUS NdisSwitchUpdateNetBufferListDestinations(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList,
[in] UINT32 NumberOfNewDestinations,
[in] PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Destinations
)
{...}
パラメーター
[in] NdisSwitchContext
Hyper-V 拡張可能スイッチ拡張機能がアタッチされている拡張可能スイッチ モジュールのハンドルを含むNDIS_SWITCH_CONTEXT値。 拡張機能が NdisFGetOptionalSwitchHandlers 呼び出すと、このハンドルは、NdisSwitchContext パラメーターを介して返されます。
[in, out] NetBufferList
1 つのパケットの NET_BUFFER_LIST 構造体へのポインター。
[in] NumberOfNewDestinations
パケットに追加された新しい宛先ポートの数を指定する UINT32 値。
[in] Destinations
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体へのポインター。 この構造体は、パケットの拡張可能スイッチの宛先ポートを指定します。
戻り値
呼び出しが成功した場合、関数はNDIS_STATUS_SUCCESSを返します。 それ以外の場合は、Ndis.h で定義されているNDIS_STATUS_Xxx エラー コードが返されます。
備考
拡張可能スイッチ拡張機能は、GetNetBufferListDestinations 関数を呼び出して、パケットの拡張可能スイッチの宛先ポートの配列を取得します。 関数が正常に返された場合、配列は、NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体へのポインターを含む Destinations パラメーターを介して取得されます。 この配列内の各要素は、パケットの宛先ポートを指定する NDIS_SWITCH_PORT_DESTINATION 構造体として書式設定されます。
拡張機能が NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体を取得した後、拡張機能は次の操作を実行できます。
-
配列に NDIS_SWITCH_PORT_DESTINATION 要素を追加します。
詳細については、「パケットへの拡張可能スイッチ宛先ポート データの追加」を参照してください。
-
指定したポートにパケットが転送されないように、配列の既存の NDIS_SWITCH_PORT_DESTINATION 要素を変更します。
詳細については、「拡張可能スイッチ宛先ポートへのパケット配信 を除外するを参照してください。
また、宛先ポートの変更がコミットされた後は、宛先ポートを削除できず、宛先ポートの NDIS_SWITCH_PORT_DESTINATION 構造の IsExcluded メンバーのみを変更できます。 詳細については、「拡張可能スイッチ宛先ポートへのパケット配信 を除外するを参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.30 以降でサポートされています。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ndis.h (Ndis.h を含む) |
IRQL | <= DISPATCH_LEVEL |
関連項目
AllocateNetBufferListForwardingContext の
GetNetBufferListDestinations の
NdisFGetOptionalSwitchHandlers の
NdisFOidRequest の