Структуры производные от 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 структуры:
Клон
Клонированная NET_BUFFER_LIST структура является дубликатом, ссылающимся на исходные данные. Драйверы могут использовать этот тип структуры, чтобы эффективно передавать одни и те же данные в несколько путей.
Фрагмент
Структура фрагмента NET_BUFFER_LIST включает набор NET_BUFFER структур, ссылающихся на исходные данные; однако данные делятся на единицы, которые не превышают максимальный размер. Драйверы могут использовать этот тип структуры для эффективного разбиения больших буферов на меньшие буферы.
восстановлено
Перезастроенная структура NET_BUFFER_LIST содержит структуру NET_BUFFER, которая ссылается на исходные данные из нескольких исходных NET_BUFFER структур. Драйверы могут использовать этот тип структуры для эффективного объединения нескольких небольших буферов в один большой буфер.
В следующих разделах содержатся дополнительные сведения о производных NET_BUFFER_LIST структурах: