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