次の方法で共有


NdisOffloadTcpSend 関数 (ndischimney.h)

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

プロトコル ドライバーまたは中間ドライバーは、NdisOffloadTcpSend 関数を呼び出して、オフロードされた TCP 接続でデータを送信します。

構文

NDIS_STATUS NdisOffloadTcpSend(
  [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構造体は、NET_BUFFER 構造体の一覧を記述します。 リスト内の各NET_BUFFER構造体は、メモリ記述子リスト (MDL) のチェーンを指します。 MDL には、送信するデータが含まれています。 NET_BUFFER_LISTおよび関連する構造体は、物理メモリに常駐し続けることができるようにロックされます。 ただし、システム メモリにはマップされません。

戻り値

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

備考

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

NdisOffloadTcpSend 関数に対して、中間ドライバーは次のコードを渡します。

  • オフロードされた TCP 接続の中間ドライバーのコンテキストに格納されているNDIS_OFFLOAD_HANDLE構造体を参照する NdisOffloadHandle。 詳細については、次を参照してください。中間ドライバー を介してオフロード状態を参照する
  • NDIS が中間ドライバーの ミニポートTcpOffloadSend 関数に渡したのと同じPNET_BUFFER_LIST ポインター。
基になるドライバーまたはオフロード ターゲットが、その後、NdisTcpOffloadSendComplete 関数を呼び出して送信操作を完了すると、NDIS は中間ドライバーの ProtocolOffloadSendComplete 関数を呼び出します。 中間ドライバーは、NdisTcpOffloadSendComplete 関数を呼び出して、送信操作の完了を伝達します。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー ndischimney.h (Ndischimney.h を含む)
ライブラリ Ndis.lib

関連項目

ミニポートTcpOffloadSend

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadSendComplete

ProtocolTcpOffloadSendComplete