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


структура 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 (include 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