Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Data transfer code paths in NDIS 6.0 have changed as follows:
The NET_BUFFER_LIST and NET_BUFFER structures replace the NDIS_PACKET structure.
Drivers can send and receive multiple packets in a single call without determining the number of packets beforehand. This is true because the packets are provided in a linked list of NET_BUFFER structures instead of an array of NDIS_PACKET structures.
The completion status of a send or receive operation is indicated in the Status member of the NET_BUFFER_LIST structure. This completion status is not returned as a function return code or a parameter of the ProtocolSendNetBufferListsComplete function.
The TCP/IP stack that is included in Windows Vista guarantees that all NET_BUFFER structures in a NET_BUFFER_LIST structure are targeted for the same MAC address, IP address, and TCP port. Intermediate drivers are required to provide the same behavior for TCP/IP data sent to underlying drivers.
All send and receive operations are asynchronous.
For more information about NDIS 6.0 send and receive paths, see NET_BUFFER Architecture.
Additional information about porting send and receive operations is included in the following topics:
Allocating Network Data Pools in an NDIS 6.0 Protocol Driver