Compartir vía


Estructuras de datos de red

Los datos de red constan de paquetes de datos que se envían o reciben a través de la red. NDIS proporciona estructuras de datos para describir y organizar estos datos. Las estructuras de datos de red principales para NDIS 6.0 y versiones posteriores son:

En la ilustración siguiente se muestran las relaciones entre estas estructuras.

Diagrama que ilustra las estructuras de datos de red NDIS 6.0, incluidas NET_BUFFER, NET_BUFFER_LIST y NET_BUFFER_LIST_CONTEXT.

En NDIS 6.0 y versiones posteriores, el NET_BUFFER es el bloque de creación básico para empaquetar datos de red. Cada estructura NET_BUFFER tiene una cadena MDL. Las MDL asignan las direcciones de los búferes de datos al espacio de datos que especifican las estructuras de NET_BUFFER. Esta asignación de datos es idéntica a las cadenas MDL que NDIS 5. Los controladores x y anteriores usan en la estructura NDIS_PACKET . NDIS proporciona funciones para manipular la cadena MDL.

Se pueden adjuntar varias estructuras de NET_BUFFER a una estructura de NET_BUFFER_LIST. Las estructuras de NET_BUFFER se organizan como una lista vinculada singly terminada en NULL. Solo el controlador que origina una estructura de NET_BUFFER_LIST, o NDIS, debe modificar la lista vinculada directamente para insertar y eliminar estructuras de NET_BUFFER.

NET_BUFFER estructuras LIST contienen información que describe todas las estructuras de NET_BUFFER adjuntas a una lista. Si un controlador requiere espacio adicional para la información de contexto, el controlador puede almacenar dicha información en las estructuras de NET_BUFFER_LIST_CONTEXT. NDIS proporciona funciones para asignar, liberar y acceder a los datos en las estructuras de NET_BUFFER_LIST_CONTEXT.

Se pueden adjuntar varias estructuras de NET_BUFFER_LIST para formar una lista de estructuras de NET_BUFFER_LIST. Las estructuras de NET_BUFFER_LIST se organizan como una lista vinculada singly terminada en NULL. Los controladores pueden modificar la lista vinculada directamente para insertar y eliminar estructuras NET_BUFFER_LIST.

NET_BUFFER

Estructura de NET_BUFFER

NET_BUFFER LIST

Estructura de NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

Estructura de NET_BUFFER_LIST_CONTEXT