NDIS_SWITCH_GROW_NET_BUFFER_LIST_DESTINATIONS コールバック関数 (ndis.h)

GrowNetBufferListDestinations 関数は、追加の Hyper-V 拡張可能スイッチの宛先ポート用の領域を、NET_BUFFER_LIST構造体で指定されたパケットに追加します。

構文

NDIS_SWITCH_GROW_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGrowNetBufferListDestinations;

NDIS_STATUS NdisSwitchGrowNetBufferListDestinations(
  [in]  NDIS_SWITCH_CONTEXT NdisSwitchContext,
        PNET_BUFFER_LIST NetBufferList,
  [in]  UINT32 NumberOfNewDestinations,
  [out] PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}

パラメーター

[in] NdisSwitchContext

Hyper-V 拡張可能スイッチ拡張機能がアタッチされている拡張可能スイッチ モジュールのハンドルを含むNDIS_SWITCH_CONTEXT値。 拡張機能が NdisFGetOptionalSwitchHandlers を呼び出すと、このハンドルは NdisSwitchContext パラメーターを介して返されます。

NetBufferList

NET_BUFFER_LIST構造体のリンクされたリストへのポインター。

メモ この構造体には、拡張可能スイッチ転送コンテキストが含まれている必要があります。 拡張機能がパケットを作成または複製した場合は、 AllocateNetBufferListForwardingContext 関数を呼び出して、この構造体を以前に割り当てた必要があります。 拡張可能スイッチ転送コンテキストの詳細については、「 Hyper-V 拡張可能スイッチ転送コンテキスト」を参照してください。
 

[in] NumberOfNewDestinations

パケットに追加する新しい宛先ポートの数を指定する UINT32 値。

[out] Destinations

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY構造体へのポインター。 この構造体は、パケットの拡張可能スイッチの宛先ポートを指定します。

戻り値

呼び出しが成功した場合、関数はNDIS_STATUS_SUCCESSを返します。 それ以外の場合は、Ndis.h で定義されているNDIS_STATUS_Xxx エラー コードが返されます。

注釈

拡張可能スイッチ拡張機能は GrowNetBufferListDestinations 関数を呼び出して、パケットの宛先ポートの領域を追加します。 ポートの宛先は、 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体を介して指定されます。

パケットに宛先ポートを追加する方法の詳細については、「 拡張可能スイッチの宛先ポート データをパケットに追加する」を参照してください。

メモNetBufferList パラメーターに複数のNET_BUFFER_LIST構造体のリンクリストへのポインターが含まれている場合、追加の宛先ポート用の領域は、リスト内の最初のNET_BUFFER_LIST構造体にのみ追加されます。
 

要件

要件
サポートされている最小のクライアント NDIS 6.30 以降でサポートされています。
対象プラットフォーム デスクトップ
Header ndis.h (Ndis.h を含む)
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

AllocateNetBufferListForwardingContext

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

UpdateNetBufferListDestinations