NdisFreeMemory, fonction (ndis.h)
La fonction NdisFreeMemory libère un bloc de mémoire précédemment alloué avec la fonction NdisAllocateMemoryWithTagPriority.
Syntaxe
void NdisFreeMemory(
[in] PVOID VirtualAddress,
[in] UINT Length,
[in] UINT MemoryFlags
);
Paramètres
[in] VirtualAddress
Pointeur vers l’adresse virtuelle de base de la mémoire allouée. Cette adresse a été retournée par la fonction NdisAllocateMemoryWithTagPriority.
[in] Length
Taille, en octets, du bloc de mémoire à libérer. Si la mémoire a été allouée avec NdisAllocateMemoryWithTagPriority ou si le paramètre MemoryFlags est égal à zéro, ce paramètre est ignoré.
[in] MemoryFlags
Ensemble d’indicateurs qui spécifient le type de mémoire à libérer. Cette valeur doit être égale à zéro si la mémoire a été allouée avec NdisAllocateMemoryWithTagPriority. Avec NDIS 6.0 et versions ultérieures, le NdisAllocateMemoryWithTagPriority est toujours utilisé pour allouer de la mémoire.
Valeur de retour
Aucun
Remarques
Étant donné que la mémoire non mise en cache et la mémoire contiguë sont rarement libérées jusqu’à ce que le pilote miniport d’allocation soit déchargé, un appelant de NdisFreeMemory est généralement en cours d’exécution à IRQL = PASSIVE_LEVEL pour ces types de désallocations. Dans tous les cas :
- Lors de la libération de la mémoire contiguë, un appelant de NdisFreeMemory doit s’exécuter à IRQL = PASSIVE_LEVEL.
- Lors de la libération de la mémoire non mise en cache, un appelant de NdisFreeMemory doit s’exécuter au < DISPATCH_LEVEL IRQL.
- Lors de la libération de la mémoire qui n’est ni contiguë ni non mise en cache, un appelant de NdisFreeMemory doit s’exécuter à IRQL <= DISPATCH_LEVEL.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisFreeMemory (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisFreeMemory (NDIS 5.1)) dans Windows XP. |
plateforme cible | Universel |
d’en-tête | ndis.h (include Ndis.h) |
bibliothèque | Ndis.lib |
IRQL | Voir la section Remarques |
règles de conformité DDI | Irql_Miscellaneous_Function(ndis), NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis), NdisQueryBindInstanceName(ndis) |