NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE回呼函式 (ndischimney.h)
[TCP chimney 卸除功能已被取代,不應使用。]
卸除目標會呼叫 NdisTcpOffloadDisconnectComplete 函式,以完成先前呼叫 所起始的中斷連線要求卸除目標的 MiniportTcpOffloadDisconnect 函式。
語法
NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;
void NdisTcpOffloadDisconnectComplete(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN PNET_BUFFER_LIST NetBufferList
)
{...}
參數
[in] NdisMiniportHandle
卸除目標在先前呼叫 中取得的句柄 NdisMRegisterMiniportDriver 函 式。
[in] NetBufferList
單一 NET_BUFFER_LIST 結構的指標。 卸除目標取得此指標做為其輸入參數 MiniportTcpOffloadDisconnect 函式。
傳回值
無
備註
完成中止中斷連線
如果卸除目標發出中止中斷連線,它必須先執行下列動作,才能呼叫 NdisTcpOffloadDisconnectComplete 函式:
- 以狀態值為 NDIS_STATUS_REQUEST_ABORTED 完成連線上的所有未處理傳送要求。 卸除目標會將此狀態值寫入連結清單中每個NET_BUFFER_LIST結構 的狀態成員, 並傳遞給 NdisTcpOffloadSendComplete 函 式。
- 將狀態值寫入 NetBufferList 指標所指向之NET_BUFFER_LIST結構的 Status 成員。 狀態值NDIS_STATUS_SUCCESS指出卸除目標已成功傳送 RST 區段。 如需允許狀態值的描述,請參閱 NET_BUFFER_LIST。
完成正常中斷連線要求之前,卸除目標必須:
-
將狀態值寫入傳遞給NET_BUFFER_LIST結構的 Status 成員 NdisTcpOffloadDisconnectComplete 函式:
- NDIS_STATUS_SUCCESS值表示 FIN 區段以及任何用戶數據都已成功由卸 除目標傳送 ,而且遠端主機也已認可。
- NDIS_STATUS_UPLOAD_IN_PROGRESS 值表示 正在上傳 NdisMiniportHandle 所參考的 TCP 連線。
- NDIS_STATUS_REQUEST_ABORTED值表示 FIN 區段和/或任何用戶數據未由卸除目標成功傳輸,而且遠端主機已認可。 主機堆疊最終會終止 TCP 連線的卸除。
- 指定已傳送並成功認可的用戶數據位元組數目。 卸除目標會呼叫標識符為TcpOffloadBytesTransferred的 NET_BUFFER_LIST_INFO 宏,以執行這項作業。
- 呼叫 NdisAdvanceNetBufferDataStart 函式。 NetBufferList 參數應該指向與卸除目標傳遞給 NdisTcpOffloadDisconnectComplete 函式之NET_BUFFER_LIST結構相關聯的NET_BUFFER結構。 DataOffsetDelta 參數應該指定卸除目標所傳輸之NET_BUFFER結構中的數據位元組數目,並成功由遠端主機認可。 FreeMdl 參數應該是 NULL。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ndischimney.h (包含 Ndischimney.h) |