NdisOffloadTcpForward 関数 (ndischimney.h)

[TCP チムニー オフロード機能は非推奨であり、使用しないでください。]

プロトコル ドライバーまたは中間ドライバーは 、NdisOffloadTcpForward 関数を呼び出して、未確認の受信 TCP セグメントを基になるドライバーまたはオフロード ターゲットに転送します。

構文

NDIS_STATUS NdisOffloadTcpForward(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList
);

パラメーター

[in] NdisOffloadHandle

オフロードされた TCP 接続の呼び出し元のコンテキストで NDIS_OFFLOAD_HANDLE 構造体へのハンドル。 詳細については、「 中間ドライバーを介したオフロード状態の参照

[in] NetBufferList

NET_BUFFER_LIST構造体へのポインター。 この構造体には、スタンドアロン構造、またはNET_BUFFER_LIST構造体のリンクされたリスト内の最初の構造体を指定できます。 リスト内の各NET_BUFFER_LIST構造体には、1 つの NET_BUFFER 構造体が記述されています。 各NET_BUFFER構造体は、メモリ記述子リスト (MCL) のチェーンを指します。 NET_BUFFER構造体に関連付けられている MPL には、オフロード ターゲットに転送される TCP セグメントが 1 つだけ含まれています。 最初の MDL の最初のバイトは、TCP ヘッダーの最初のバイトです。 NET_BUFFER_LISTおよび関連する構造体は、物理メモリに常駐し続けることができるようにロックされます。 ただし、システム メモリにはマップされません。

戻り値

NdisOffloadTcpForward 関数は常にNDIS_STATUS_PENDINGを返します。 転送操作は常に非同期的に完了します。

注釈

MiniportTcpOffloadForward 関数の呼び出しに応答して、中間ドライバーは NdisOffloadTcpForward 関数を呼び出して、転送操作を基になるドライバーまたはオフロード ターゲットに伝達します。 詳細については、「 I/O 操作の伝達」を参照してください。

NdisOffloadTcpForward 関数に中間ドライバーは、次を渡します。

基になるドライバーまたはオフロード ターゲットが後で NdisTcpOffloadForwardComplete 関数を呼び出して前方操作を完了すると、NDIS は中間ドライバーの ProtocolOffloadForwardComplete 関数を呼び出します。 その後、中間ドライバーは NdisTcpOffloadForwardComplete 関数を呼び出して、前方操作の完了を伝達します。

要件

要件
対象プラットフォーム ユニバーサル
Header ndischimney.h (Ndischimney.h を含む)
Library Ndis.lib

こちらもご覧ください

MiniportTcpOffloadForward

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadForwardComplete ProtocolTcpOffloadForwardComplete