Поделиться через


Производные структуры NET_BUFFER_LIST

NDIS предоставляет функции, которые драйверы могут использовать для управления NET_BUFFER_LIST структурами, производными от других NET_BUFFER_LIST структур. Эти функции обычно используются промежуточными драйверами.

Следующие функции NDIS могут создавать производные NET_BUFFER_LIST структуры из существующей структуры NET_BUFFER_LIST:

NdisAllocateCloneNetBufferList

NdisAllocateFragmentNetBufferList

NdisAllocateReassembledNetBufferList

Эти функции повышают производительность системы, так как NDIS создает производные структуры без копирования сетевых данных. Существует три типа NET_BUFFER_LIST структур, которые могут быть производными от существующей структуры NET_BUFFER_LIST.

Clone
Клонированная структура NET_BUFFER_LIST — это дубликат, ссылающийся на исходные данные. Драйверы могут использовать структуру этого типа для эффективной передачи одних и того же данных в несколько путей.

Fragment
Структура фрагмента NET_BUFFER_LIST включает набор NET_BUFFER структур, ссылающихся на исходные данные; однако данные делятся на единицы, которые не превышают максимальный размер. Драйверы могут использовать структуру этого типа для эффективного разбиения больших буферов на более мелкие.

Собрал
Структура повторного NET_BUFFER_LIST содержит NET_BUFFER структуру, которая ссылается на исходные данные из нескольких исходных NET_BUFFER структур. Драйверы могут использовать структуру этого типа для эффективного объединения множества небольших буферов в один большой буфер.

В следующих разделах содержатся дополнительные сведения о производных структурах NET_BUFFER_LIST.