共用方式為


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
NDIS_STATUS_SUCCESS
用戶端應用程式已取用所有指定的接收數據。
NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED
用戶端應用程式拒絕所有指定的接收數據。
NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED
用戶端應用程式已取用所指定接收數據的子集。 用戶端應用程式所耗用的數據量會傳回 BytesConsumed 參數所指定的變數。

備註

若要將指示傳播至過度裝載的驅動程式或主機堆棧,中繼驅動程式會呼叫 NdisTcpOffloadReceiveHandler 函式 。 中繼驅動程式會將下列參數傳遞至 NdisTcpOffloadReceiveHandler 函式:

  • 卸除目標儲存在卸除 TCP 連線內容的 NdisOffloadHandle 。 如需相關資訊,請參閱 透過中繼驅動程序參考卸除狀態
  • NDIS 傳遞至中繼驅動程式的 ProtocolTcpOffloadReceiveIndicate 函式的 NetBufferList 指標。
  • 傳遞至中繼驅動程式 ProtocolTcpOffloadReceiveIndicate 函式的 NDIS 狀態

規格需求

需求
目標平台 Windows
標頭 ndischimney.h (包括 Ndischimney.h)

另請參閱

MDL

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler