NdisMTerminateOffloadComplete 関数 (ndischimney.h)

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

オフロード ターゲットは NdisMTerminateOffloadComplete 関数を呼び出して、 への以前の呼び出しによって開始された終了オフロード操作を完了します。オフロード ターゲットの MiniportTerminateOffload 関数。

構文

void NdisMTerminateOffloadComplete(
  [in] IN NDIS_HANDLE                       NdisMiniportHandle,
  [in] IN PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
);

パラメーター

[in] NdisMiniportHandle

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

[in] OffloadBlockList

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

戻り値

なし

解説

NdisMTerminateOffloadComplete 関数を呼び出す前に、オフロード ターゲットは、状態ツリー内の各NDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体の Status メンバーに次のNDIS_STATUS値のいずれかを書き込む必要があります。

  • NDIS_STATUS_SUCCESS

    オフロード ターゲットは、NDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体によって参照される状態オブジェクトのオフロードを正常に終了しました。 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体の後に委任された状態構造 (XXX_OFFLOAD_STATE_DELEGATED) が続く場合、オフロード ターゲットは、その状態オブジェクトの委任された変数値を委任された状態構造体に正常に書き込みます。

  • NDIS_STATUS_FAILURE

    終了操作が成功しませんでした。 このような障害は、壊滅的な障害によって引き起こされ、終了された状態オブジェクトが失われます。 この場合、オフロード ターゲット ハードウェアが応答していない可能性があります。 ホスト スタックで接続を中止する必要がある場合があります。

NdisMTerminateOffloadComplete 関数を呼び出す前に、オフロード ターゲットも次のようにする必要があります。 終了している TCP 接続に未処理の送信データがある場合、オフロードターゲットはそのようなデータをネット バッファーにパッケージ化し、パッケージ化されたデータを NET_BUFFER_LIST 構造体のリンクされたリスト内のホスト スタックに渡します。 この場合、オフロード ターゲットは、その接続のNDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体の NetBufferListChain メンバーに NULL 以外の値を指定します。 (NDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体は、 OffloadBlockList ポインターが指すリンクリストにあります)。 NetBufferListChain メンバーは、送信データが関連付けられている NET_BUFFER_LIST 構造体のリンクされたリストを指します。

未処理の送信データをホスト スタックに渡す場合、オフロード ターゲットは、終了する接続に対して次の委任された TCP 変数に NULL 以外の値も指定する必要があります。

  • SndUna
  • SndNxt
  • SndMax
未処理の送信データを渡す方法の詳細については、次を参照してください。 オフロード操作中およびオフロード操作後の未処理の送信データの処理

終了している TCP 接続に未処理の送信データがない場合、オフロード ターゲットは NetBufferListChain メンバーの NULL 値を指定する必要があります。

アップロード中の TCP 接続で未処理の受信データが存在する可能性があります。 これは、オフロード ターゲットがネットワークから受信し、処理し、確認したデータです。 このようなデータの処理の詳細については、次を参照してください。 オフロードの終了操作中にバッファーされた受信データを処理します

オフロード ターゲットは、終了状態オブジェクトに関連付けられているすべてのリソース (メモリなど) を解放します。

要件

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

こちらもご覧ください

MiniportTerminateOffload

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST

NdisMRegisterMiniportDriver

TCP_OFFLOAD_STATE_DELEGATED