структура 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_CURRENT_MDL_OFFSETТребования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ndis/nbl.h (включая ndis.h) |