structure NET_BUFFER_LIST_CONTEXT (ndis/nbl.h)
La structure NET_BUFFER_LIST_CONTEXT stocke les informations de contexte pour une structure de NET_BUFFER_LIST .
Syntaxe
typedef struct _NET_BUFFER_LIST_CONTEXT {
NET_BUFFER_LIST_CONTEXT *Next;
USHORT Size;
USHORT Offset;
UCHAR ContextData[];
} NET_BUFFER_LIST_CONTEXT, *PNET_BUFFER_LIST_CONTEXT;
Membres
Next
Pointeur vers la structure NET_BUFFER_LIST_CONTEXT suivante dans une liste liée de structures NET_BUFFER_LIST_CONTEXT.
Size
Taille, en octets, de l’espace de contexte entier dans la structure NET_BUFFER_LIST_CONTEXT, y compris l’espace de contexte utilisé et inutilisé.
Offset
Décalage, en octets, du début de la mémoire tampon de données de contexte au début des données de contexte dans la structure NET_BUFFER_LIST_CONTEXT. Le membre Offset spécifie également la taille en octets de l’espace de contexte inutilisé dans la structure NET_BUFFER_LIST_CONTEXT.
ContextData
Mémoire tampon de données de contexte. Les données de contexte peuvent inclure toutes les informations dont un pilote a besoin.
Remarques
Chaque structure NET_BUFFER_LIST peut inclure une structure NET_BUFFER_LIST_CONTEXT prélocalisée. En tant que structure NET_BUFFER_LIST se déplace dans la pile des pilotes, la liste liée des structures NET_BUFFER_LIST_CONTEXT peut s’étendre pour prendre en charge des espaces de données supplémentaires pour chaque pilote.
Les pilotes doivent utiliser les macros et fonctions NDIS suivantes pour accéder aux membres et les manipuler dans une structure NET_BUFFER_LIST_CONTEXT :
- NdisAllocateNetBufferListContext
- NdisFreeNetBufferListContext
- NET_BUFFER_LIST_CONTEXT_DATA_START
- NET_BUFFER_LIST_CONTEXT_DATA_SIZE
Les pilotes NDIS appellent le Fonction NdisAllocateNetBufferListContext pour allouer l’espace tampon contigu dans la structure NET_BUFFER_LIST_CONTEXT. Si nécessaire, NDIS alloue une nouvelle structure de NET_BUFFER_LIST_CONTEXT avec un espace supplémentaire pour honorer la demande. Les pilotes NDIS appellent le Fonction NdisFreeNetBufferListContext pour libérer l’espace tampon.
Utilisez le NET_BUFFER_LIST_CONTEXT_DATA_SIZE macro pour obtenir la taille de l’espace de contexte utilisé. Utilisez le NET_BUFFER_LIST_CONTEXT_DATA_START macro pour obtenir l’adresse de départ de l’espace de contexte utilisé.
Pour plus d’informations sur l’utilisation de mémoires tampons nettes, consultez NET_BUFFER Architecture.
Configuration requise
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) |