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 NET_BUFFER, et elle identifie la structure de 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 de NET_BUFFER suivante dans une liste liée de structures NET_BUFFER. Si cette structure est la dernière structure NET_BUFFER de la liste, ce membre est NULL.

CurrentMdl

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

CurrentMdlOffset

Décalage, en octets, au début de la 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 0xFFFFFFFF octets.

MdlChain

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

DataOffset

Offset, 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 les données de la structure NET_BUFFER. Pour accéder aux membres de NET_BUFFER_DATA, utilisez le NdisRetreatNetBufferDataStart et fonctions NdisAdvanceNetBufferDataStart et les 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
Remarque Les compilateurs C et C++ utilisent différentes définitions pour ces macros. L’échec de l’utilisation des macros peut entraîner des problèmes lors du changement de compilateurs.
 

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
d’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