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

FreeNetBufferListForwardingContext 関数は、NET_BUFFER_LIST構造体の帯域外 (OOB) 拡張可能スイッチ転送コンテキスト内のリソースを解放します。 このデータは、Hyper-V 拡張可能スイッチの送受信操作に使用され、 AllocateNetBufferListForwardingContext 関数を呼び出すことによって以前に割り当てられました。

構文

NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT NdisSwitchFreeNetBufferListForwardingContext;

void NdisSwitchFreeNetBufferListForwardingContext(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList
)
{...}

パラメーター

[in] NdisSwitchContext

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

[in, out] NetBufferList

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

メモ この構造体には、 AllocateNetBufferListForwardingContext 関数を呼び出すことによって以前に割り当てられた拡張可能スイッチ転送コンテキストが含まれている必要があります。
 

戻り値

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

注釈

拡張可能スイッチ拡張機能は、拡張可能スイッチのデータ パス内でパケット送信操作を開始できます。 たとえば、拡張機能は拡張可能スイッチの任意のポートにパケットを送信できます。 このデータ パスの詳細については、「 Hyper-V 拡張可能スイッチのデータ パス」を参照してください。

拡張可能スイッチ拡張機能がパケット送信操作を開始した場合、拡張機能は AllocateNetBufferListForwardingContext 関数を 呼び出す必要があります。 この関数は、指定した NET_BUFFER_LIST 構造体の転送コンテキストを割り当てて初期化します。 このコンテキストの詳細については、「 Hyper-V 拡張可能スイッチ転送コンテキスト」を参照してください。

送信操作が完了すると、拡張機能は FreeNetBufferListForwardingContext 関数を 呼び出して転送コンテキストの割り当てを解除する必要があります。

メモ この拡張機能は、送信操作が完了したときに FreeNetBufferListForwardingContext 関数を呼び出す必要があります。 拡張機能は、パケットの NET_BUFFER_LIST 構造体をルックアサイド リストに追加するか、 NdisFreeNetBufferList を呼び出して構造体をプールに返すかに関係なく、これを行う必要があります。
 
送信操作を開始する方法の詳細については、「 Filter Module Send and Receive Operations」を参照してください。
メモNetBufferList パラメーターに複数のNET_BUFFER_LIST構造体のリンクリストへのポインターが含まれている場合、リスト内の最初のNET_BUFFER_LIST構造体のみが転送コンテキストの割り当てを解除します。
 

要件

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

こちらもご覧ください

AllocateNetBufferListForwardingContext

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

NdisFreeNetBufferList