Структура NET_BUFFER_LIST
Структура NET_BUFFER_LIST содержит связанный список NET_BUFFER структур.
На следующем рисунке показаны поля в NET_BUFFER_LIST структуре.
Структура NET_BUFFER_LIST включает NET_BUFFER_LIST_HEADER структуру в элементе NetBufferListHeader . Структура NET_BUFFER_LIST_HEADER включает NET_BUFFER_LIST_DATA структуру в элементе NetBufferListData . Для доступа к элементам структуры NET_BUFFER_LIST следует использовать макросы NDIS. Дополнительные сведения об этих макросах см. на странице справочника по структуре NET_BUFFER_LIST .
Некоторые элементы используются только NDIS. Члены, которые, скорее всего, будут использоваться драйверами, определены в следующем списке:
ParentNetBufferList
Если NET_BUFFER_LIST структура является дочерней структурой, наследуемой от родительского объекта (клонированного, фрагментированного или повторного сборки), ParentNetBufferList указывает указатель на родительскую NET_BUFFER_LIST структуру. В противном случае этот параметр имеет значение NULL.
NdisPoolHandle
Указывает дескриптор пула, определяющий NET_BUFFER_LIST пул, из которого была выделена структура NET_BUFFER_LIST.
ProtocolReserved
Зарезервировано для использования драйверами протоколов.
MiniportReserved
Зарезервировано для использования драйверами мини-портов.
SourceHandle
Дескриптор, предоставленный NDIS драйверу в операции привязки или присоединения с помощью одной из следующих подпрограмм, предоставляемых драйвером:
Драйвер мини-порта
MiniportInitializeEx
Драйвер протокола
ProtocolBindAdapterEx
Драйвер фильтра
FilterAttach
NDIS использует SourceHandle для возврата структуры NET_BUFFER_LIST драйверу, который отправил структуру NET_BUFFER_LIST. Драйверы NDIS не должны считывать этот дескриптор.
ChildRefCount
Если NET_BUFFER_LIST структура является родительской (имеет дочерние элементы, производные от операций клонирования, фрагментирования или повторного удаления), ChildRefCount указывает количество существующих дочерних элементов. В противном случае этот параметр равен нулю.
Флаги
Зарезервировано для будущей спецификации атрибутов для структуры NET_BUFFER_LIST. В настоящее время нет флагов, доступных для драйверов.
Состояние
Указывает окончательное состояние завершения операции с сетевыми данными для этой структуры NET_BUFFER_LIST. Драйверы мини-портов записывают это значение перед выполнением операции отправки.
NetBufferListInfo
Указывает NET_BUFFER_LIST сведения о структуре, общие для всех NET_BUFFER структур в списке. Эту информацию часто называют "данными внеполосного диапазона (OOB).
Следующий
Указывает указатель на следующую структуру NET_BUFFER_LIST в связанном списке NET_BUFFER_LIST структур. Если структура NET_BUFFER_LIST является последней структурой в списке, этот элемент имеет значение NULL.
FirstNetBuffer
Указывает указатель на первую структуру NET_BUFFER в связанном списке NET_BUFFER структур, связанных с этой NET_BUFFER_LIST структурой.
Примечание. Контекст — это указатель на структуру NET_BUFFER_LIST_CONTEXT . NDIS предоставляет макросы и функции для управления данными в контексте . Дополнительные сведения о структуре NET_BUFFER_LIST_CONTEXT см. в разделе Структура NET_BUFFER_LIST_CONTEXT.