NdisFreeMemory, fonction (ndis.h)

La fonction NdisFreeMemory libère un bloc de mémoire qui a été 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 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

None

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 s’exécute généralement à 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 sur irQL < DISPATCH_LEVEL.
  • 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.

Configuration requise

   
Client minimal 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 Universal
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)

Voir aussi

MiniportHaltEx

NdisAllocateMemoryWithTagPriority