NdisOffloadTcpSend function

A protocol driver or intermediate driver calls the NdisOffloadTcpSend function to transmit data on an offloaded TCP connection.

Syntax


NDIS_STATUS NdisOffloadTcpSend(
  _In_  PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  _In_  PNET_BUFFER_LIST NetBufferList
);

Parameters

NdisOffloadHandle [in]

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.

NetBufferList [in]

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.

Return value

The NdisOffloadTcpSend function always returns NDIS_STATUS_PENDING. The send operation is always completed asynchronously.

Remarks

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.

When the underlying driver or offload target subsequently completes the send operation by calling the NdisTcpOffloadSendComplete function, NDIS calls the intermediate driver's ProtocolOffloadSendComplete function. The intermediate driver then calls the NdisTcpOffloadSendComplete function to propagate the completion of the send operation.

Requirements

Header

Ndischimney.h (include Ndischimney.h)

See also

MiniportTcpOffloadSend
NDIS_OFFLOAD_HANDLE
NET_BUFFER
NET_BUFFER_LIST
NdisTcpOffloadSendComplete
ProtocolTcpOffloadSendComplete

 

 

Send comments about this topic to Microsoft

Mostrar:
© 2014 Microsoft