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) |