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.
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.