[The TCP chimney offload feature is deprecated and should not be used.]
A protocol driver or intermediate driver calls the NdisOffloadTcpSend function to transmit data on an offloaded TCP connection.
NDIS_STATUS NdisOffloadTcpSend( IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle, IN PNET_BUFFER_LIST NetBufferList );
A handle to an NDIS_OFFLOAD_HANDLE structure in the caller's context for the offloaded TCP connection. For more information, see Referencing Offloaded State Through an Intermediate Driver.
A pointer to a NET_BUFFER_LIST structure. This structure can be a stand-alone structure or the first structure in a linked list of NET_BUFFER_LIST structures. Each NET_BUFFER_LIST structure in the list describes a list of NET_BUFFER structures. Each NET_BUFFER structure in the list points to a chain of memory descriptor lists (MDLs). The MDLs contain the data to be transmitted. The NET_BUFFER_LIST and associated structures are locked so that they remain resident in physical memory. However, they are not mapped into system memory.
The NdisOffloadTcpSend function always returns NDIS_STATUS_PENDING. The send operation is always completed asynchronously.
In response to a call to its MiniportTcpOffloadSend function, an intermediate driver calls the NdisOffloadTcpSend function to propagate the send operation to the underlying intermediate driver or offload target. For more information, see Propagating I/O Operations.
To the NdisOffloadTcpSend function, the intermediate driver passes the following:
- An NdisOffloadHandle that references the NDIS_OFFLOAD_HANDLE structure stored in the intermediate driver's context for the offloaded TCP connection. For more information, see Referencing Offloaded State Through an Intermediate Driver.
- The same PNET_BUFFER_LIST pointer that NDIS passed to the intermediate driver's MiniportTcpOffloadSend function.
|Header||ndischimney.h (include Ndischimney.h)|