Compartir vía


Estructuras de NET_BUFFER_LIST derivadas

NDIS proporciona funciones que los controladores pueden usar para administrar estructuras de NET_BUFFER_LIST derivadas de otras estructuras de NET_BUFFER_LIST. Normalmente, estas funciones las usan los controladores intermedios.

Las siguientes funciones NDIS pueden crear estructuras de NET_BUFFER_LIST derivadas a partir de una estructura de NET_BUFFER_LIST existente:

NdisAllocateCloneNetBufferList

NdisAllocateFragmentNetBufferList

NdisAllocateReassembledNetBufferList

Estas funciones mejoran el rendimiento del sistema porque NDIS crea las estructuras derivadas sin copiar los datos de red. Hay tres tipos de estructuras de NET_BUFFER_LIST que se pueden derivar de una estructura de NET_BUFFER_LIST existente:

Clon
Una estructura de NET_BUFFER_LIST clonada es un duplicado que hace referencia a los datos originales. Los controladores pueden usar este tipo de estructura para transferir eficazmente los mismos datos a varias rutas de acceso.

Fragmento
Un fragmento NET_BUFFER_LIST estructura incluye un conjunto de estructuras de NET_BUFFER que hacen referencia a los datos originales; sin embargo, los datos se dividen en unidades que no superan un tamaño máximo. Los controladores pueden usar este tipo de estructura para dividir eficazmente los búferes grandes en búferes más pequeños.

Montar
Una estructura de NET_BUFFER_LIST ensamblada contiene una estructura de NET_BUFFER que hace referencia a los datos originales de varias estructuras de origen NET_BUFFER. Los controladores pueden usar este tipo de estructura para combinar eficazmente muchos búferes más pequeños en un único búfer grande.

En estos temas se proporciona más información sobre las estructuras de NET_BUFFER_LIST derivadas: