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