次の方法で共有


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

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

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

構文

NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;

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

パラメーター

[in] NdisMiniportHandle

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

[in] NetBufferList

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

戻り値

何一つ

備考

中止切断 の完了を する

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

  • NDIS_STATUS_REQUEST_ABORTEDの状態値を使用して、接続で未処理のすべての送信要求を完了します。 オフロード ターゲットは、リンク リスト内の各NET_BUFFER_LIST構造体の 状態 メンバーにこの状態値を書き込みます。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 接続のオフロードを終了します。
  • 送信され、正常に受信確認されたユーザー データバイト数を指定します。 オフロード ターゲットは、tcpOffloadBytesTransferred id を持つ NET_BUFFER_LIST_INFO マクロ呼び出すことによってこれを行います。
  • を呼び出します。NdisAdvanceNetBufferDataStart 関数を します。 NetBufferList パラメーターは、オフロード ターゲットが NdisTcpOffloadDisconnectComplete 関数に渡すNET_BUFFER_LIST構造体に関連付けられているNET_BUFFER構造体を指す必要があります。 DataOffsetDelta パラメーターは、オフロード ターゲットによって送信され、リモート ホストによって正常に受信確認されたNET_BUFFER構造体からのデータ バイト数を指定する必要があります。 FreeMdl パラメーターは NULL する必要があります。
NdisTcpOffloadDisconnectComplete 関数は、NDIS がオフロード ターゲットに渡したNET_BUFFER_LIST構造体と関連する構造体のみを返すことに注意してください。ミニポートTcpOffloadDisconnect 関数を します。 NdisTcpOffloadDisconnectComplete 関数は、NDIS がオフロード ターゲットの以前の呼び出しで渡したNET_BUFFER_LIST構造体を返すことができません。ミニポートTcpOffloadSend 関数を します。

必要条件

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

関連項目

ミニポートTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete