NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE コールバック関数 (ndischimney.h)

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

オフロード ターゲットは NdisTcpOffloadDisconnectComplete 関数を呼び出して、 への以前の呼び出しによって開始された切断要求を完了します。オフロード ターゲットの MiniportTcpOffloadDisconnect 関数。

構文

NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;

void NdisTcpOffloadDisconnectComplete(
  [in] IN NDIS_HANDLE NdisMiniportHandle,
  [in] IN PNET_BUFFER_LIST NetBufferList
)
{...}

パラメーター

[in] NdisMiniportHandle

の前の呼び出しでオフロード ターゲットが取得したハンドル。 NdisMRegisterMiniportDriver 関数。

[in] NetBufferList

単一の NET_BUFFER_LIST 構造体へのポインター。 オフロード ターゲットは、 への入力パラメーターとしてこのポインターを取得しました。 MiniportTcpOffloadDisconnect 関数。

戻り値

なし

解説

中止切断の完了

オフロード ターゲットが中止切断を発行した場合は、 NdisTcpOffloadDisconnectComplete 関数を呼び出す前に、次の操作を行う必要があります。

  • 状態値が NDIS_STATUS_REQUEST_ABORTED の接続で未処理のすべての送信要求を完了します。 オフロード ターゲットは、 に渡すリンクリスト内の各NET_BUFFER_LIST構造体の Status メンバーにこの 状態 値を書き込みます。 NdisTcpOffloadSendComplete 関数。
  • NetBufferList ポインターが指すNET_BUFFER_LIST構造体の Status メンバーに状態値を書き込みます。 NDIS_STATUS_SUCCESS の状態値は、オフロード ターゲットが RST セグメントを正常に送信したことを示します。 許容される状態値の説明については、「 NET_BUFFER_LIST」を参照してください。
正常な切断の完了

正常な切断要求を完了する前に、オフロード ターゲットは次の作業を行う必要があります。

  • に渡すNET_BUFFER_LIST構造体の Status メンバーに状態値を書き込みます。 NdisTcpOffloadDisconnectComplete 関数:
    • NDIS_STATUS_SUCCESS の値は、FIN セグメントとユーザー データが オフロード ターゲットによって 正常に送信され、リモート ホストからも確認されたことを示します。
    • NDIS_STATUS_UPLOAD_IN_PROGRESS の値は、 NdisMiniportHandle によって参照される TCP 接続がアップロードされていることを示します。
    • NDIS_STATUS_REQUEST_ABORTED の値は、FIN セグメントまたはユーザー データがオフロード ターゲットによって正常に送信されず、リモート ホストによって確認されたことを示します。 ホスト スタックは最終的に TCP 接続のオフロードを終了します。
  • 送信され、正常に確認されたユーザー データバイト数を指定します。 オフロード ターゲットは、id がTcpOffloadBytesTransferredNET_BUFFER_LIST_INFO マクロを呼び出すことによってこれを行います。
  • を呼び出す NdisAdvanceNetBufferDataStart 関数。 NetBufferList パラメーターは、オフロード ターゲットが NdisTcpOffloadDisconnectComplete 関数に渡すNET_BUFFER_LIST構造体に関連付けられているNET_BUFFER構造体を指す必要があります。 DataOffsetDelta パラメーターは、オフロード ターゲットによって送信され、リモート ホストによって正常に確認されたNET_BUFFER構造体からのデータ バイト数を指定する必要があります。 FreeMdl パラメーターは NULL にする必要があります。
NdisTcpOffloadDisconnectComplete 関数は、NDIS がオフロード ターゲットに渡したNET_BUFFER_LIST構造体と関連する構造体のみを返すことに注意してください。 MiniportTcpOffloadDisconnect 関数。 NdisTcpOffloadDisconnectComplete 関数は、以前のオフロード ターゲットの 呼び出しで NDIS が渡したNET_BUFFER_LIST構造体を返すことができません MiniportTcpOffloadSend 関数。

要件

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

こちらもご覧ください

MiniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete