TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER回呼函式 (ndischimney.h)
[TCP chimney 卸除功能已被取代,不應使用。
NDIS 會呼叫通訊協定驅動程式或中繼驅動程式的 ProtocolTcpOffloadReceiveIndicate 函式,以傳遞基礎驅動程式或卸除目標所指示的已接收數據。
語法
TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER TcpOffloadReceiveIndicateHandler;
NDIS_STATUS TcpOffloadReceiveIndicateHandler(
[in] IN PVOID OffloadContext,
[in] IN PNET_BUFFER_LIST NetBufferList,
[in] IN NDIS_STATUS Status,
[out] OUT PULONG BytesConsumed
)
{...}
參數
[in] OffloadContext
要進行指示之 TCP 連線的通訊協定或中繼驅動程式 NDIS_OFFLOAD_HANDLE 結構的指標。 卸除連接時,通訊協定或中繼驅動程式會將此指標當做 NdisInitiateOffload 函式的輸入參數提供。
[in] NetBufferList
NET_BUFFER_LIST 結構的指標。 每個 NET_BUFFER_LIST 結構都會描述 NET_BUFFER 結構的清單。 清單中的每個 NET_BUFFER 結構都會對應至 記憶體描述項鏈結, (MDL) 。 MDLs 包含已接收的數據。 MDL 會鎖定,讓它們保持駐留狀態,但不會對應到系統記憶體中。
NetBufferList 指定的NET_BUFFER_LIST結構必須是獨立結構,而且不能是NET_BUFFER_LIST結構連結清單中的第一個結構。 卸除目標可以視需要鏈結至卸除接收指示中相同 NET_BUFFER 的多個 MDL,來解決這項限制。
[in] Status
中繼驅動程式應該在呼叫時傳播此狀態 NdisTcpOffloadReceiveHandler。
[out] BytesConsumed
ULONG 型別變數的指標,可接收用戶端應用程式所耗用的位元元組數目。
傳回值
The ProtocolTcpOffloadReceiveIndicate 函式可以傳回下列其中一個值:
傳回碼 | Description |
---|---|
|
用戶端應用程式已取用所有指定的接收數據。 |
|
用戶端應用程式拒絕所有指定的接收數據。 |
|
用戶端應用程式已取用所指定接收數據的子集。 用戶端應用程式所耗用的數據量會傳回 BytesConsumed 參數所指定的變數。 |
備註
若要將指示傳播至過度裝載的驅動程式或主機堆棧,中繼驅動程式會呼叫 NdisTcpOffloadReceiveHandler 函式 。 中繼驅動程式會將下列參數傳遞至 NdisTcpOffloadReceiveHandler 函式:
- 卸除目標儲存在卸除 TCP 連線內容的 NdisOffloadHandle 。 如需相關資訊,請參閱 透過中繼驅動程序參考卸除狀態。
- NDIS 傳遞至中繼驅動程式的 ProtocolTcpOffloadReceiveIndicate 函式的 NetBufferList 指標。
- 傳遞至中繼驅動程式 ProtocolTcpOffloadReceiveIndicate 函式的 NDIS 狀態。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | ndischimney.h (包括 Ndischimney.h) |