Send and Receive Operations

In a single function call, NDIS 6.0 drivers can send multiple NET_BUFFER_LIST structures with multiple NET_BUFFER structures on each NET_BUFFER_LIST structure. Also, NDIS drivers can indicate completed send operations for multiple NET_BUFFER_LIST structures with multiple NET_BUFFER structures on a NET_BUFFER_LIST structure.

In the receive path, miniport drivers can use a list of NET_BUFFER_LIST structures to indicate receives. Each NET_BUFFER_LIST indicated by a miniport driver contains one NET_BUFFER structure. However, Native 802.11 drivers can have more than one NET_BUFFER structure. Because a different protocol binding can process each NET_BUFFER_LIST structure, NDIS can return each NET_BUFFER_LIST structure to the miniport driver independently.

To support NDIS 5.x and earlier drivers, NDIS provides a translation layer between the NDIS_PACKET-based and NET_BUFFER-based interfaces. NDIS performs the necessary conversion between NET_BUFFER structures and NDIS_PACKET structures. To avoid performance degradation due to translation, NDIS drivers must be updated to use NET_BUFFER structures and should support multiple NET_BUFFER_LIST structures in all data paths.

This section includes the following topics:

Sending Network Data

Canceling a Send Operation

Receiving Network Data

Looping Back NDIS Packets