次の方法で共有


NdisOffloadTcpDisconnect 関数 (ndischimney.h)

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

プロトコルまたは中間ドライバーは、 NdisOffloadTcpDisconnect 関数を呼び出して、オフロードされた TCP 接続の送信の半分を閉じます。 さらに、実行する切断が正常な切断である場合、プロトコルまたは中間ドライバーは、基になるオフロード ターゲットが FIN セグメントを送信する前にオフロードされた TCP 接続で送信する必要があるアプリケーション データを提供できます。

構文

NDIS_STATUS NdisOffloadTcpDisconnect(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList,
  [in] IN ULONG                Flags
);

パラメーター

[in] NdisOffloadHandle

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

[in] NetBufferList

単一の NET_BUFFER_LIST 構造体へのポインター。 このNET_BUFFER_LIST構造体に関連付けられている NET_BUFFER 構造体は 1 つだけです。

[in] Flags

次のいずれかの値として、実行する切断の種類を指定します。

TCP_DISCONNECT_ABORTIVE_CLOSE

オフロード ターゲットが RST セグメントを送信して中止切断を実行することを指定します。

TCP_DISCONNECT_GRACEFUL_CLOSE

FIN セグメントを送信して、オフロード ターゲットが正常な切断を実行することを指定します。

戻り値

NdisOffloadTcpDisconnect 関数は常にNDIS_STATUS_PENDINGを返します。 切断操作は常に非同期的に完了します。

注釈

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

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

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

要件

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

こちらもご覧ください

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete プロトコルTcpOffloadDisconnectComplete