Hardware Dev Center


A NET_BUFFER_LIST structure packages a linked list of NET_BUFFER structures.

The following figure shows the fields in a NET_BUFFER_LIST structure.

Diagram illustrating the fields in a NET_BUFFER_LIST structure

The NET_BUFFER_LIST structure includes a NET_BUFFER_LIST_HEADER structure in the NetBufferListHeader member. The NET_BUFFER_LIST_HEADER structure includes a NET_BUFFER_LIST_DATA structure in the NetBufferListData member. You should use NDIS macros to access NET_BUFFER_LIST structure members. For more information about these macros, see the NET_BUFFER_LIST structure reference page.

Some of the members are only used by NDIS. The members that drivers are most likely to use are defined in the following list:


If a NET_BUFFER_LIST structure is a child that was derived from a parent(cloned, fragmented, or reassembled), ParentNetBufferList specifies a pointer to the parent NET_BUFFER_LIST structure. Otherwise, this parameter is NULL.


Specifies a pool handle that identifies the NET_BUFFER_LIST pool from which the NET_BUFFER_LIST structure was allocated.


Reserved for use by protocol drivers.


Reserved for use by miniport drivers.


A handle that NDIS provided to the driver in a binding or attaching operation by using one of the following driver-supplied routines:

Miniport Driver


Protocol Driver


Filter Driver


NDIS uses SourceHandle to return the NET_BUFFER_LIST structure to the driver that sent the NET_BUFFER_LIST structure. NDIS drivers should not read this handle.


If a NET_BUFFER_LIST structure is a parent (has children derived by clone, fragment, or reassemble operations), ChildRefCount specifies the number of existing children. Otherwise, this parameter is zero.


Reserved for future specification of attributes for the NET_BUFFER_LIST structure. There are currently no flags available to drivers.


Specifies the final completion status of a network data operation for this NET_BUFFER_LIST structure. Miniport drivers write this value before completing a send operation.


Specifies NET_BUFFER_LIST structure information that is common to all NET_BUFFER structures in the list. This information is often referred to as "out-of-band (OOB) data."


Specifies a pointer to the next NET_BUFFER_LIST structure in a linked list of NET_BUFFER_LIST structures. If a NET_BUFFER_LIST structure is the last structure in the list, this member is NULL.


Specifies a pointer to the first NET_BUFFER structure in a linked list of NET_BUFFER structures that is associated with this NET_BUFFER_LIST structure.

Note  Context is a pointer to a NET_BUFFER_LIST_CONTEXT structure. NDIS provides macros and functions to manipulate the data at Context . For more information about the NET_BUFFER_LIST_CONTEXT structure, see NET_BUFFER_LIST_CONTEXT Structure.



Send comments about this topic to Microsoft

© 2015 Microsoft