NET_BUFFER_DATA-Struktur (ndis/nbl.h)
Die NET_BUFFER_DATA-Struktur enthält Informationen zum Verwalten der Datenpuffer, die an eine NET_BUFFER-Struktur angefügt sind, und identifiziert die nächste NET_BUFFER-Struktur in einer Liste von NET_BUFFER-Strukturen.
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
Ein Zeiger auf die nächste NET_BUFFER-Struktur in einer verknüpften Liste von NET_BUFFER-Strukturen. Wenn diese Struktur die letzte NET_BUFFER Struktur in der Liste ist, ist dieser Member NULL.
CurrentMdl
Ein Zeiger auf die erste MDL, die der aktuelle Treiber verwendet. Dieses Element bietet eine Optimierung, die die Leistung verbessert, indem alle MDLs übersprungen werden, die vom aktuellen Treiber nicht verwendet werden.
CurrentMdlOffset
Der Offset in Bytes bis zum Anfang des verwendeten Datenbereichs in der MDL, die vom CurrentMdl-Member angegeben wird.
NbDataLength
Die Länge des verwendeten Datenbereichs in Bytes in der MDL-Kette. Die maximale Länge beträgt 0xFFFFFFFF Bytes.
MdlChain
Ein Zeiger auf eine verknüpfte Liste von MDLs, die einen Datenpuffer zuordnen. Der Datenpuffer speichert die Netzwerkdaten.
DataOffset
Der Offset in Bytes vom Anfang der MDL-Kette bis zum Anfang der Netzwerkdaten in der MDL-Kette. Dieser Offset ist auch die Größe des nicht verwendeten Datenbereichs in Bytes.
Die NET_BUFFER_HEADER-Struktur enthält eine NET_BUFFER_DATA-Struktur, die Daten für die NET_BUFFER-Struktur definiert. Um auf die Member von NET_BUFFER_DATA zuzugreifen, verwenden Sie die NdisRetreatNetBufferDataStart und NdisAdvanceNetBufferDataStart-Funktionen und die folgenden Makros:
NET_BUFFER_CURRENT_MDL_OFFSETAnforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Kopfzeile | ndis/nbl.h (include ndis.h) |