NdisAllocateMdl, fonction (ndis/mdlapi.h)
La fonction NdisAllocateMdl alloue un MDL qui décrit la mémoire tampon à l’adresse virtuelle spécifiée.
Syntaxe
NDIS_EXPORTED_ROUTINE MDL * NdisAllocateMdl(
[in] NDIS_HANDLE NdisHandle,
[in] PVOID VirtualAddress,
[in] ULONG Length
);
Paramètres
[in] NdisHandle
Handle NDIS obtenu lors de l’initialisation de l’appelant. Pour plus d’informations, consultez Obtention de descripteurs de pool.
[in] VirtualAddress
Pointeur vers l’adresse virtuelle de base de la mémoire tampon que la MDL doit décrire.
Le paramètre VirtualAddress pour NdisAllocateMdl accepte uniquement la mémoire du pool non paginé. En d’autres termes, elle nécessite de la mémoire de ExAllocatePool*(NonPagedNx), NdisAllocateMemoryWithTagPriority ou NdisMAllocateSharedMemory. En particulier, il ne doit pas être utilisé avec la mémoire de la pile, le pool paginé, les données globales du pilote ou d’autres régions de mémoire.
Si un pilote doit générer une MDL pour l’une de ces régions de pool non paginé, il doit utiliser les API de noyau appropriées pour ce type de mémoire, comme IoAllocateMdl combiné avec MmProbeAndLockPages.
[in] Length
Taille, en octets, de la mémoire tampon.
Valeur retournée
NdisAllocateMdl retourne un pointeur vers la MDL allouée. Si l’allocation échoue, la valeur de retour est NULL.
Remarques
Toutes les dll MDL allouées en appelant NdisAllocateMdl doivent être libérées en appelant la fonction NdisFreeMdl .
NdisAllocateMdl alloue de la mémoire et génère la MDL en une seule étape. Ce processus est différent de IoAllocateMdl, qui alloue uniquement de la mémoire pour la MDL, ce qui signifie que l’appelant doit générer le MDL en appelant MmBuildMdlForNonPagedPool ou MmProbeAndLockPages.
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/mdlapi.h (include ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | Irql_NetBuffer_Function(ndis),NdisAllocateMdl(ndis) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : tout au long de 2024, nous allons éliminer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d'informations, consultez :Envoyer et afficher des commentaires pour