次の方法で共有


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

1 つの 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を返します。 切断操作は常に非同期的に完了します。

備考

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

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

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

必要条件

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

関連項目

ミニポートTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete ProtocolTcpOffloadDisconnectComplete