NdisAllocateNetBufferList, fonction (ndis/nblapi.h)

Appelez la fonction NdisAllocateNetBufferList pour allouer et initialiser une structure de 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

Un handle de pool de structure NET_BUFFER_LIST qui a été précédemment retourné à partir d’un appel à NdisAllocateNetBufferListPool.

[in] ContextSize

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

[in] ContextBackFill

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

Valeur retournée

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

Remarques

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

NotezNET_BUFFER et NET_BUFFER_LIST structures 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ée 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éfini 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Universal
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