次の方法で共有


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

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

構文

NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGetNetBufferListDestinations;

void NdisSwitchGetNetBufferListDestinations(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList,
  [out]     PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}

パラメーター

[in] NdisSwitchContext

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

[in, out] NetBufferList

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

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

[out] Destinations

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

戻り値

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

備考

拡張可能スイッチ拡張機能は、GetNetBufferListDestinations 関数を呼び出して、パケットの拡張可能スイッチの宛先ポートの配列を取得します。 関数が正常に返された場合、配列は Destinations パラメーターを介して取得されます。このパラメーターには、NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体へのポインターが含まれます。 この配列内の各要素は、パケットの宛先ポートを指定する NDIS_SWITCH_PORT_DESTINATION 構造体として書式設定されます。

拡張機能がパケットを割り当てる場合、拡張機能は GetNetBufferListDestinations を呼び出す前に、最初に AllocateNetBufferListForwardingContext 関数呼び出す必要があります。 AllocateNetBufferListForwardingContext 関数は、パケットの拡張可能スイッチ転送コンテキストを割り当てます。 このコンテキストには、NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体を含む帯域外 (OOB) 拡張可能スイッチ データが含まれています。

拡張可能スイッチ転送コンテキストの詳細については、「Hyper-V 拡張可能スイッチ転送コンテキストの」を参照してください。

拡張機能が配列を取得した後、次の操作を実行できます。

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 構造体は有効であることが保証されますが、拡張機能はパケットの NET_BUFFER_LIST 構造の所有権を保持します。
 

必要条件

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

関連項目

AllocateNetBufferListForwardingContext

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers