Condividi tramite


Funzione NdisFreeMemory (ndis.h)

La funzione NdisFreeMemory rilascia un blocco di memoria allocato in precedenza con la funzione NdisAllocateMemoryWithTagPriority.

Sintassi

void NdisFreeMemory(
  [in] PVOID VirtualAddress,
  [in] UINT  Length,
  [in] UINT  MemoryFlags
);

Parametri

[in] VirtualAddress

Puntatore all'indirizzo virtuale di base della memoria allocata. Questo indirizzo è stato restituito dalla funzione NdisAllocateMemoryWithTagPriority.

[in] Length

Dimensione, in byte, del blocco di memoria da rilasciare. Se la memoria è stata allocata con NdisAllocateMemoryWithTagPriority o il parametro MemoryFlags è zero, questo parametro viene ignorato.

[in] MemoryFlags

Set di flag che specificano il tipo di memoria da liberare. Questo valore deve essere zero se la memoria è stata allocata con NdisAllocateMemoryWithTagPriority. Con NDIS 6.0 e versioni successive, la NdisAllocateMemoryWithTagPriority viene sempre usata per allocare memoria.

Valore restituito

Nessuno

Osservazioni

Poiché la memoria non memorizzata nella cache e la memoria contigua vengono rilasciate raramente finché non viene scaricato il driver miniport di allocazione, un chiamante di NdisFreeMemory in genere è in esecuzione in IRQL = PASSIVE_LEVEL per questi tipi di deallocazione. In ogni caso:

  • Quando si rilascia memoria contigua, un chiamante di NdisFreeMemory deve essere in esecuzione in IRQL = PASSIVE_LEVEL.
  • Quando si rilascia memoria non memorizzata nella cache, un chiamante di NdisFreeMemory deve essere in esecuzione in irQL < DISPATCH_LEVEL.
  • Quando si rilascia memoria non contigua né non memorizzata in cache, un chiamante di NdisFreeMemory deve essere in esecuzione in IRQL <= DISPATCH_LEVEL.

Fabbisogno

Requisito Valore
client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisFreeMemory (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisFreeMemory (NDIS 5.1)) in Windows XP.
piattaforma di destinazione Universale
intestazione ndis.h (include Ndis.h)
libreria Ndis.lib
IRQL Vedere la sezione Osservazioni
regole di conformità DDI Irql_Miscellaneous_Function(ndis), NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis), NdisQueryBindInstanceName(ndis)

Vedere anche

MiniportHaltEx

NdisAllocateMemoryWithTagPriority