TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER回呼函式 (ndischimney.h)
[TCP 煙囪卸除功能已被取代,不應使用。]
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)鏈結。 MDL 包含已接收的數據。 MDL 已鎖定,使其保持常駐狀態,但不會對應到系統記憶體中。
NetBufferList 所指定的 NET_BUFFER_LIST 結構 必須是獨立結構,而且不能是 NET_BUFFER_LIST 結構鏈接清單中的第一個結構。 卸除目標可以藉由鏈結到卸除接收指示中相同 NET_BUFFER 所需的數目,來因應這項限制。
[in] Status
中繼驅動程式應該在呼叫時傳播此狀態 NdisTcpOffloadReceiveHandler。
[out] BytesConsumed
ULONG 型別變數的指標,可接收用戶端應用程式所取用的位元元組數目。
傳回值
這 ProtocolTcpOffloadReceiveIndicate 函式可以傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
|
用戶端應用程式已取用所有指定的接收數據。 |
|
用戶端應用程式拒絕所有指定的接收數據。 |
|
用戶端應用程式已取用所指示接收數據的子集。 用戶端應用程式取用的數據量,以位元組為單位,會傳回 BytesConsumed 參數所指定的變數。 |
言論
若要將指示傳播至過度裝載的驅動程式或主機堆棧,中繼驅動程式會呼叫 NdisTcpOffloadReceiveHandler 函式。 中繼驅動程式會將下列參數傳遞至 NdisTcpOffloadReceiveHandler 函式:
- NdisOffloadHandle 卸除目標儲存在卸除 TCP 連線的內容中。 如需詳細資訊,請參閱 透過中繼驅動程式參考卸除狀態。
- NetBufferList NDIS 傳遞至中繼驅動程式 ProtocolTcpOffloadReceiveIndicate 函式的指標。
- NDIS 傳遞至中繼驅動程式 ProtocolTcpOffloadReceiveIndicate 函式的 Status。
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
標頭 | ndischimney.h (包括 Ndischimney.h) |