Packet Structures in Network Drivers
In NDIS 6.0 and later versions, a higher layer driver allocates NET_BUFFER and NET_BUFFER LIST structures to hold network packet information, and sends the structures to the next lower NDIS driver so that the data can be sent on the network. Lower-level drivers allocate NET_BUFFER and NET_BUFFER_LIST structures to hold received data and pass the structures up to interested higher-layer drivers. Sometimes, a higher layer driver allocates structures and passes them to a lower layer driver with a request for the lower layer driver to copy received data into the buffers provided. NDIS provides functions for allocating and manipulating the substructures that make up the NET_BUFFER and NET_BUFFER_LIST structures.
For more information about the structure of network data buffers in NDIS drivers, see NET_BUFFER Architecture.