NET_BUFFER_LIST_CONTEXT estructura (ndis/nbl.h)
La estructura NET_BUFFER_LIST_CONTEXT almacena información de contexto para una estructura de NET_BUFFER_LIST .
Sintaxis
typedef struct _NET_BUFFER_LIST_CONTEXT {
NET_BUFFER_LIST_CONTEXT *Next;
USHORT Size;
USHORT Offset;
UCHAR ContextData[];
} NET_BUFFER_LIST_CONTEXT, *PNET_BUFFER_LIST_CONTEXT;
Miembros
Next
Puntero a la siguiente estructura de NET_BUFFER_LIST_CONTEXT en una lista vinculada de estructuras de NET_BUFFER_LIST_CONTEXT.
Size
Tamaño, en bytes, de todo el espacio de contexto de la estructura NET_BUFFER_LIST_CONTEXT, incluido el espacio de contexto usado y sin usar.
Offset
Desplazamiento, en bytes, desde el principio del búfer de datos de contexto hasta el inicio de los datos de contexto en la estructura NET_BUFFER_LIST_CONTEXT. El miembro Offset también especifica el tamaño en bytes del espacio de contexto sin usar en la estructura NET_BUFFER_LIST_CONTEXT.
ContextData
Búfer de datos de contexto. Los datos de contexto pueden incluir cualquier información que requiera un controlador.
Comentarios
Cada estructura de NET_BUFFER_LIST puede incluir una estructura de NET_BUFFER_LIST_CONTEXT preasignada. A medida que una estructura de NET_BUFFER_LIST viaja por la pila de controladores, la lista vinculada de estructuras de NET_BUFFER_LIST_CONTEXT puede expandirse para dar cabida a espacio de datos adicional para cada controlador.
Los controladores deben usar las siguientes macros y funciones NDIS para acceder y manipular miembros en una estructura de NET_BUFFER_LIST_CONTEXT:
- NdisAllocateNetBufferListContext
- NdisFreeNetBufferListContext
- NET_BUFFER_LIST_CONTEXT_DATA_START
- NET_BUFFER_LIST_CONTEXT_DATA_SIZE
Los controladores NDIS llaman a Función NdisAllocateNetBufferListContext para asignar espacio de búfer contiguo en la estructura NET_BUFFER_LIST_CONTEXT. Si es necesario, NDIS asigna una nueva estructura de NET_BUFFER_LIST_CONTEXT con espacio adicional para respetar la solicitud. Los controladores NDIS llaman a Función NdisFreeNetBufferListContext para liberar el espacio del búfer.
Use el NET_BUFFER_LIST_CONTEXT_DATA_SIZE macro para obtener el tamaño del espacio de contexto utilizado. Use el NET_BUFFER_LIST_CONTEXT_DATA_START macro para obtener la dirección inicial del espacio de contexto usado.
Para obtener más información sobre cómo usar búferes netos, consulte arquitectura de NET_BUFFER.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.0 y versiones posteriores. |
Encabezado | ndis/nbl.h (include ndis.h) |