Partager via


structure NET_BUFFER_DATA (ndis/nbl.h)

La structure NET_BUFFER_DATA contient des informations sur la gestion des mémoires tampons de données attachées à une structure de NET_BUFFER, et elle identifie la structure NET_BUFFER suivante dans une liste de structures NET_BUFFER.

Syntaxe

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;

Membres

Next

Pointeur vers la structure NET_BUFFER suivante dans une liste liée de structures NET_BUFFER. Si cette structure est la dernière NET_BUFFER structure de la liste, ce membre a la valeur NULL.

CurrentMdl

Pointeur vers le premier MDL que le pilote actuel utilise. Ce membre fournit une optimisation qui améliore les performances en ignorant les MDL que le pilote actuel n’utilise pas.

CurrentMdlOffset

Décalage, en octets, au début de l’espace de données utilisé dans le MDL spécifié par le membre CurrentMdl .

NbDataLength

Longueur, en octets, de l’espace de données utilisé dans la chaîne MDL. La longueur maximale est de 0xFFFFFFFF octets.

MdlChain

Pointeur vers une liste liée de dll mdl qui mappent une mémoire tampon de données. La mémoire tampon de données stocke les données réseau.

DataOffset

Décalage, en octets, du début de la chaîne MDL au début des données réseau dans la chaîne MDL. Ce décalage est également la taille, en octets, de l’espace de données inutilisé.

Remarques

La structure NET_BUFFER_HEADER contient une structure NET_BUFFER_DATA qui définit des données pour la structure NET_BUFFER . Pour accéder aux membres de NET_BUFFER_DATA, utilisez le NdisRetreatNetBufferDataStart et Fonctions NdisAdvanceNetBufferDataStart et macros suivantes :

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
Note Les compilateurs C et C++ utilisent des définitions différentes pour ces macros. L’échec de l’utilisation des macros peut entraîner des problèmes lors du changement de compilateur.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
En-tête ndis/nbl.h (include ndis.h)

Voir aussi

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