Auf Englisch lesen

Freigeben über


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 NET_BUFFER Strukturen.

Syntax

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;

Angehörige

Next

Ein Zeiger auf die nächste NET_BUFFER Struktur in einer verknüpften Liste mit NET_BUFFER Strukturen. Wenn diese Struktur die letzte NET_BUFFER Struktur in der Liste ist, ist dieses Element NULL-.

CurrentMdl

Ein Zeiger auf die erste MDL, die der aktuelle Treiber verwendet. Dieses Mitglied bietet eine Optimierung, die die Leistung verbessert, indem alle MDLs übersprungen werden, die der aktuelle Treiber nicht verwendet.

CurrentMdlOffset

Der Offset in Byte bis zum Anfang des verwendeten verwendeten Datenbereichs in der MDL, die durch das 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 genutzten Datenbereichs in Byte.

Bemerkungen

Die NET_BUFFER_HEADER-Struktur enthält eine NET_BUFFER_DATA Struktur, die Daten für die NET_BUFFER Struktur definiert. Um auf die Mitglieder von NET_BUFFER_DATA zuzugreifen, verwenden Sie die NdisRetreatNetBufferDataStart- und NdisAdvanceNetBufferDataStart Funktionen und die folgenden Makros:

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
Hinweis Die C- und C++-Compiler verwenden unterschiedliche Definitionen für diese Makros. Fehler bei der Verwendung der Makros können beim Wechseln von Compilern zu Problemen führen.
 

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Header- ndis/nbl.h (include ndis.h)

Siehe auch

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