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


Структура NET_BUFFER_LIST

Структура NET_BUFFER_LIST содержит связанный список NET_BUFFER структур.

На следующем рисунке показаны поля в NET_BUFFER_LIST структуре.

Схема, иллюстрирующая поля в структуре 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.