Partager via


NdisAllocateNetBufferList, fonction (ndis/nblapi.h)

Appelez la fonction NdisAllocateNetBufferList pour allouer et initialiser une structure NET_BUFFER_LIST à partir d’un pool de structures NET_BUFFER_LIST.

Syntaxe

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
  [in] NDIS_HANDLE PoolHandle,
  [in] USHORT      ContextSize,
  [in] USHORT      ContextBackFill
);

Paramètres

[in] PoolHandle

Handle de pool de structures NET_BUFFER_LIST qui a été retourné précédemment à partir d’un appel à NdisAllocateNetBufferListPool.

[in] ContextSize

Quantité de espace de données utilisé dans la structure NET_BUFFER_LIST_CONTEXT à réserver pour l’appelant. Le ContextSize doit être un multiple de la valeur définie par MEMORY_ALLOCATION_ALIGNMENT.

[in] ContextBackFill

Quantité de espace de données inutilisé (espace de remplissage) requis par l’appelant. NDIS ajoute cette valeur au ContextSize et alloue de l’espace supplémentaire. Le ContextBackFill doit être un multiple de la valeur définie par MEMORY_ALLOCATION_ALIGNMENT.

Valeur de retour

NdisAllocateNetBufferList retourne un pointeur vers la structure NET_BUFFER_LIST allouée. Si l’allocation a échoué, ce pointeur est NULL .

Remarques

Vous pouvez appeler le NdisAllocateNetBufferList ou fonction NdisAllocateNetBufferAndNetBufferList pour allouer une structure NET_BUFFER_LIST à partir d’un pool.

RemarqueNET_BUFFER et les structures NET_BUFFER_LIST doivent être allouées à partir d’un pool de mémoires tampons NDIS. Un pilote ne doit pas allouer et initialiser une structure NET_BUFFER_LIST ou NET_BUFFER à partir de son pool de mémoire privé ou de la pile.
 
Si vous appelez NdisAllocateNetBufferList et que le pool de structures NET_BUFFER_LIST a été alloué en appelant le fonction NdisAllocateNetBufferListPool avec le membre fAllocateNetBuffer de la structure NET_BUFFER_LIST_POOL_PARAMETERS définie sur TRUE, NDIS alloue un NET_BUFFER_LIST, NET_BUFFER, MDL et des données.

Appelez la fonction NdisFreeNetBufferList pour libérer une structure NET_BUFFER_LIST.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
plateforme cible Universel
d’en-tête ndis/nblapi.h (include ndis.h)
bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
règles de conformité DDI Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferList2(ndis), NdisAllocateNetBufferList2_InitFail(ndis)

Voir aussi

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList