NdisMTerminateOffloadComplete 函式 (ndischimney.h)
[TCP chimney 卸除功能已被取代,不應使用。]
卸除目標會呼叫 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結構的 Status 成員:
-
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 連線上可能會有未完成的接收數據。 這是卸除目標已從網路接收、處理及認可的數據。 如需處理這類數據的詳細資訊,請參閱 在終止卸除作業期間處理緩衝接收數據。
卸除目標會釋放與終止狀態對象相關聯的所有資源,例如記憶體。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ndischimney.h (包含 Ndischimney.h) |
IRQL | 任何層級 |