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_STATUS值寫入狀態樹狀結構中每個NDIS_MINIPORT_OFFLOAD_BLOCK_LIST結構 成員 狀態:
-
NDIS_STATUS_SUCCESS
卸除目標已成功終止NDIS_MINIPORT_OFFLOAD_BLOCK_LIST結構所參考的狀態物件卸除。 如果NDIS_MINIPORT_OFFLOAD_BLOCK_LIST結構後面接著委派的狀態結構(XXX_OFFLOAD_STATE_DELEGATED),卸除目標會將該狀態物件的委派變數值成功寫入委派狀態結構。
-
NDIS_STATUS_FAILURE
終止作業未成功。 這類失敗是由導致中斷狀態物件的災難性失敗所造成。 在此情況下,卸除目標硬體可能不會回應。 主機堆疊可能必須中止連線。
- 完成 MiniportInvalidateOffload、MiniportQueryOffload、MiniportTcpOffloadReceive的任何未完成呼叫。 MiniportTcpOffloadDisconnect、MiniportTcpOffloadForward、MiniportTcpOffloadSend和 MiniportUpdateOffload 函式。
- 請確定對 NdisMIndicateStatusEx、NdisMOffloadEventIndicate、NdisTcpOffloadEventHandler和 NdisTcpOffloadReceiveHandler 函式已傳回。
將未處理傳送數據傳遞至主機堆疊時,卸除目標也必須針對即將終止之連線的下列委派 TCP 變數指定非NULL 值:
- SndUna
- SndNxt
- SndMax
如果 TCP 連線上沒有終止的未處理傳送數據,卸除目標必須指定 NetBufferListChain 成員的 NULL 值。
在上傳的 TCP 連線上,可能會有未處理的接收數據。 這是卸除目標已從網路接收、處理及認可的數據。 如需處理這類數據的詳細資訊,請參閱 終止卸除作業期間處理緩衝接收資料。
卸除目標會釋放與終止狀態對象相關聯的所有資源,例如記憶體。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | ndischimney.h (包括 Ndischimney.h) |
IRQL | 任何層級 |