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ées.

Syntaxe

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

Paramètres

[in] PoolHandle

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

Valeur retournée

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

Remarques

L’appelant doit appeler la fonction NdisAllocateNetBufferPool et spécifier la taille maximale des mémoires tampons de données. Compte tenu de 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 des NET_BUFFERs hors NET_BUFFER pools qui contiennent des données.

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

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

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

Voir aussi

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer