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 がTcpOffloadBytesTransferred のNET_BUFFER_LIST_INFO マクロを呼び出すことによってこれを行います。
- を呼び出す NdisAdvanceNetBufferDataStart 関数。 NetBufferList パラメーターは、オフロード ターゲットが NdisTcpOffloadDisconnectComplete 関数に渡すNET_BUFFER_LIST構造体に関連付けられているNET_BUFFER構造体を指す必要があります。 DataOffsetDelta パラメーターは、オフロード ターゲットによって送信され、リモート ホストによって正常に確認されたNET_BUFFER構造体からのデータ バイト数を指定する必要があります。 FreeMdl パラメーターは NULL にする必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ndischimney.h (Ndischimney.h を含む) |