структура NET_BUFFER_DATA (ndis/nbl.h)

Структура NET_BUFFER_DATA содержит сведения для управления буферами данных, присоединенными к NET_BUFFER структуре, и определяет следующую структуру NET_BUFFER в списке NET_BUFFER структур.

Синтаксис

typedef struct _NET_BUFFER_DATA {
  NET_BUFFER             *Next;
  MDL                    *CurrentMdl;
  ULONG                  CurrentMdlOffset;
  NET_BUFFER_DATA_LENGTH NbDataLength;
  MDL                    *MdlChain;
  ULONG                  DataOffset;
} NET_BUFFER_DATA, *PNET_BUFFER_DATA;

Члены

Next

Указатель на следующую NET_BUFFER структуру в связанном списке NET_BUFFER структур. Если эта структура является последней NET_BUFFER структурой в списке, этот элемент имеет значение NULL.

CurrentMdl

Указатель на первый MDL, который использует текущий драйвер. Этот элемент обеспечивает оптимизацию, которая повышает производительность, пропуская все многомерные списки, которые не использует текущий драйвер.

CurrentMdlOffset

Смещение (в байтах) к началу используемого пространства данных в MDL, заданного элементом CurrentMdl .

NbDataLength

Длина (в байтах) используемого пространства данных в цепочке MDL. Максимальная длина составляет 0xFFFFFFFF байт.

MdlChain

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

DataOffset

Смещение в байтах от начала цепочки MDL до начала сетевых данных в цепочке MDL. Это смещение также представляет собой размер неиспользуемого пространства данных (в байтах).

Комментарии

Структура NET_BUFFER_HEADER содержит структуру NET_BUFFER_DATA, которая определяет данные для структуры NET_BUFFER . Чтобы получить доступ к членам NET_BUFFER_DATA, используйте NdisRetreatNetBufferDataStart иФункции NdisAdvanceNetBufferDataStart и следующие макросы:

NET_BUFFER_NEXT_NB

NET_BUFFER_FIRST_MDL

NET_BUFFER_DATA_OFFSET

NET_BUFFER_DATA_LENGTH

NET_BUFFER_CURRENT_MDL

NET_BUFFER_CURRENT_MDL_OFFSET
Примечание Компиляторы C и C++ используют разные определения для этих макросов. Неиспользование макросов может привести к проблемам при переключении компиляторов.
 

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Верхняя часть ndis/nbl.h (включая ndis.h)

См. также раздел

NET_BUFFER

NET_BUFFER_CURRENT_MDL

NET_BUFFER_CURRENT_MDL_OFFSET

NET_BUFFER_DATA_LENGTH

NET_BUFFER_DATA_OFFSET

NET_BUFFER_FIRST_MDL

NET_BUFFER_HEADER

NET_BUFFER_NEXT_NB

NdisAdvanceNetBufferDataStart NdisRetreatNetBufferDataStart