The TdiCopyLookaheadData function safely copies receive data indicated in a lookahead buffer to the transport protocol by the underlying NDIS driver.
VOID TdiCopyLookaheadData( [in] PVOID Destination, [in] PVOID Source, [in] ULONG Length, [in] ULONG ReceiveFlags );
- Destination [in]
Pointer to a caller-supplied buffer into which to copy the data.
- Source [in]
Pointer to the source buffer from which to copy the data.
- Length [in]
Specifies how many bytes of data to copy.
- ReceiveFlags [in]
Specifies a combination (ORed) of TDI_RECEIVE_XXX flags of which only the following is pertinent to this call:
TdiCopyLookaheadData can be called by a transport's ProtocolReceive function to copy receive data from a lookahead buffer that was indicated up by the underlying NIC driver. In particular, TdiCopyLookaheadData must be called if the underlying NIC driver did not set the NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA flag in response to the transport's OID_GEN_MAC_OPTIONS query
However, TdiCopyLookaheadData can be called by any NDIS driver's ProtocolReceive function, whatever the nature of the receive buffers on the underlying NIC.
Any driver that exports a ProtocolReceive function can call TdiCopyLookaheadData.
Callers of TdiCopyLookaheadData can be running at any IRQL if the buffer at Destination was allocated from nonpaged pool. Otherwise, a caller must be running at IRQL < DISPATCH_LEVEL.
Note The TDI feature is deprecated and will be removed in future versions of Microsoft Windows. Depending on how you use TDI, use either the Winsock Kernel (WSK) or Windows Filtering Platform (WFP). For more information about WFP and WSK, see Windows Filtering Platform and Winsock Kernel. For a Windows Core Networking blog entry about WSK and TDI, see Introduction to Winsock Kernel (WSK).
|See Remarks section.|
Build date: 11/16/2013