Estructura de NET_BUFFER_LIST
Una estructura de NET_BUFFER_LIST empaqueta una lista vinculada de estructuras de NET_BUFFER.
En la ilustración siguiente se muestran los campos de una estructura NET_BUFFER_LIST.
La estructura NET_BUFFER_LIST incluye una estructura NET_BUFFER_LIST_HEADER en el miembro NetBufferListHeader . La estructura NET_BUFFER_LIST_HEADER incluye una estructura de NET_BUFFER_LIST_DATA en el miembro NetBufferListData . Debe usar macros NDIS para acceder a NET_BUFFER_LIST miembros de la estructura. Para obtener más información sobre estas macros, consulte la página de referencia de estructura de NET_BUFFER_LIST .
Algunos de los miembros solo los usa NDIS. Los miembros que los controladores tienen más probabilidades de usar se definen en la lista siguiente:
ParentNetBufferList
Si una estructura de NET_BUFFER_LIST es un elemento secundario derivado de un elemento primario (clonado, fragmentado o reensamblado), ParentNetBufferList especifica un puntero a la estructura de NET_BUFFER_LIST primaria. De lo contrario, este parámetro es NULL.
NdisPoolHandle
Especifica un identificador de grupo que identifica el grupo de NET_BUFFER_LIST del que se asignó la estructura de NET_BUFFER_LIST.
ProtocolReserved
Reservado para su uso por controladores de protocolo.
MiniportReserved
Reservado para su uso por los controladores de minipuerto.
SourceHandle
Identificador que NDIS proporcionó al controlador en una operación de enlace o conexión mediante una de las siguientes rutinas proporcionadas por el controlador:
Controlador de minipuerto
MiniportInitializeEx
Controlador de protocolo
ProtocolBindAdapterEx
Controlador de filtro
FilterAttach
NDIS usa SourceHandle para devolver la estructura de NET_BUFFER_LIST al controlador que envió la estructura NET_BUFFER_LIST. Los controladores NDIS no deben leer este identificador.
ChildRefCount
Si una estructura de NET_BUFFER_LIST es un elemento primario (tiene elementos secundarios derivados de operaciones de clonación, fragmento o reasemble), ChildRefCount especifica el número de elementos secundarios existentes. De lo contrario, este parámetro es cero.
Banderas
Reservado para futuras especificaciones de atributos para la estructura de NET_BUFFER_LIST. Actualmente no hay marcas disponibles para los controladores.
Status
Especifica el estado de finalización final de una operación de datos de red para esta estructura de NET_BUFFER_LIST. Los controladores de minipuerto escriben este valor antes de completar una operación de envío.
NetBufferListInfo
Especifica NET_BUFFER_LIST información de estructura que es común a todas las estructuras NET_BUFFER de la lista. Esta información se conoce a menudo como datos fuera de banda (OOB).
Próximo
Especifica un puntero a la siguiente estructura de NET_BUFFER_LIST en una lista vinculada de estructuras de NET_BUFFER_LIST. Si una estructura de NET_BUFFER_LIST es la última estructura de la lista, este miembro es NULL.
FirstNetBuffer
Especifica un puntero a la primera estructura NET_BUFFER de una lista vinculada de estructuras de NET_BUFFER asociadas a esta estructura de NET_BUFFER_LIST.
NotaEl contexto es un puntero a una estructura de NET_BUFFER_LIST_CONTEXT . NDIS proporciona macros y funciones para manipular los datos en Context . Para obtener más información sobre la estructura de NET_BUFFER_LIST_CONTEXT, consulte NET_BUFFER_LIST_CONTEXT Structure.