NDIS_TCP_OFFLOAD_RECEIVE_COMPLETE回呼函式 (ndischimney.h)
[TCP 煙囪卸除功能已被取代,不應使用。]
卸除目標會呼叫 NdisTcpOffloadReceiveComplete 函式,將張貼的接收要求 (接收緩衝區) 傳回主機堆棧。 卸除目標先前在一或多個對其的呼叫中收到接收要求 MiniportTcpOffloadReceive 函式。
語法
NDIS_TCP_OFFLOAD_RECEIVE_COMPLETE NdisTcpOffloadReceiveComplete;
void NdisTcpOffloadReceiveComplete(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN PNET_BUFFER_LIST NetBufferList
)
{...}
參數
[in] NdisMiniportHandle
卸除目標在先前呼叫 中取得的句柄 NdisMRegisterMiniportDriver 函式。
[in] NetBufferList
NET_BUFFER_LIST 結構的指標。 此結構可以是獨立結構,或是NET_BUFFER_LIST結構連結清單中的第一個結構。 卸除目標在對其的一或多個呼叫中取得這些結構 MiniportTcpOffloadReceive 函式。
傳回值
沒有
言論
卸除目標應該使用並傳回預先張貼的接收要求,以將要求張貼到的順序 MiniportTcpOffloadReceive 卸除目標的函式。 也就是說,卸除目標應該先使用並傳回先出(FIFO)順序中的預先發佈接收要求。
卸除目標必須串行化對 NdisTcpOffloadReceiveComplete 函式和 的呼叫 NdisTcpOffloadReceiveHandler 函式會根據每個 -connection。
卸除目標的 MiniportTcpOffloadReceive 函式可以在卸除目標對 NdisTcpOffloadReceiveComplete 函式的卸除目標呼叫內容中呼叫。 在此情況下,卸除目標必須再次呼叫 NdisTcpOffloadReceiveComplete 函式,直到先前呼叫 NdisTcpOffloadReceiveComplete 為止。
為了改善系統效能,卸除目標可以建立連結清單,其中包含從多個呼叫到它的 NET_BUFFER_LIST 結構 MiniportTcpOffloadReceive 函式。 卸除目標可以在單一呼叫中傳遞這類連結清單給 NdisTcpOffloadReceiveComplete 函式。 請注意,卸除目標可以散發在單一呼叫中張貼的接收要求 MiniportTcpOffloadReceive 函式跨多個完成呼叫,只要卸除目標完成接收要求的順序,就與貼到 MiniportTcpOffloadReceive 函式的順序相同。
呼叫 NdisTcpOffloadReceiveComplete 函式之前,卸除目標會針對傳遞給函式的每個NET_BUFFER_LIST結構執行下列動作:
- 將下列其中一個狀態值寫入 狀態 成員:
- NDIS_STATUS_SUCCESS
- 卸除目標會接收與 NetBufferList 參數所參考之NET_BUFFER_LIST結構相關聯的所有數據。 卸除目標也會進階 RcvNxt,RcvWnd TCP 連線的 TCP 委派狀態變數。 卸除目標可能或可能尚未產生已接收數據的通知,視卸除目標是否在等候傳送延遲通知而定。
- NDIS_STATUS_REQUEST_ABORTED
- 卸除目標正在處理已接收的數據時發生錯誤。 如果卸除目標提供一些有效的數據,其中包含 NetBufferList 參數所指向的NET_BUFFER_LIST結構,卸除目標會藉由呼叫 NET_BUFFER_LIST_INFO 巨集來指定有效的數據位元組數目。 卸除目標可能或可能尚未認可所接收數據的某些部分。
- NDIS_STATUS_UPLOAD_IN_PROGRESS
- 正在上傳緩衝區的連線。
- NDIS_STATUS_INVALID_STATE
- 在卸除目標指出中斷連線后,已張貼接收要求,方法是呼叫 NdisTcpOffloadEventHandler。
- 指定呼叫具有 tcpOffloadBytesTransferred 標識符的 NET_BUFFER_LIST_INFO 巨集所傳回的數據位元組數目。
- 呼叫 NdisAdvanceNetBufferDataStart 函式。 NetBufferList 參數應該指向與NET_BUFFER_LIST結構相關聯的NET_BUFFER結構。 DataOffsetDelta 參數應該指定卸除目標放置於與NET_BUFFER結構相關聯之內存描述元清單 (MDLs) 中的數據位元組數目。 FreeMdl 參數應 NULL。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | ndischimney.h (包括 Ndischimney.h) |
IRQL | 任何層級 |