Partager via


NdisAllocateNetBufferMdlAndData, fonction (ndis/nblapi.h)

Les pilotes NDIS appellent la fonction NdisAllocateNetBufferMdlAndData pour allouer une structure NET_BUFFER ainsi que les données et MDL associés.

Syntaxe

NDIS_EXPORTED_ROUTINE NET_BUFFER * NdisAllocateNetBufferMdlAndData(
  [in] NDIS_HANDLE PoolHandle
);

Paramètres

[in] PoolHandle

Handle de pool de structures NET_BUFFER qui a été retourné précédemment à partir d’un appel à la fonction NdisAllocateNetBufferPool.

Valeur de retour

NdisAllocateNetBufferMdlAndData retourne un pointeur vers la structure NET_BUFFER allouée par NDIS. Si l’allocation a échoué, ce pointeur est NULL .

Remarques

L’appelant doit appeler la fonction NdisAllocateNetBufferPool et spécifier la taille maximale des mémoires tampons de données. Étant donné cette valeur, NDIS peut préallouer des mémoires tampons pour l’appelant.

Cette fonction alloue une structure NET_BUFFER, MDL et des données dans une mémoire tampon unique. Cela est utile pour obtenir des performances élevées lorsque NET_BUFFER structures sont fréquemment allouées et libérées. L’appelant ne doit pas appeler NdisAllocateNetBuffer pour allouer NET_BUFFERs des pools de NET_BUFFER qui contiennent des données.

NDIS utilise le paramètre PoolHandle pour obtenir un bloc de mémoire, puis crée le NET_BUFFER, MDL et la mémoire tampon de données.

Pour libérer la NET_BUFFER et les informations associées, appelez la fonction NdisFreeNetBuffer.

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), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis)

Voir aussi

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer