Funzione NdisMFreeSharedMemory (ndis.h)
NdisMFreeSharedMemory libera memoria precedentemente allocata da NdisMAllocateSharedMemory o NdisMAllocateSharedMemoryAsyncEx dal driver di una scheda di interfaccia di rete DMA.
Sintassi
void NdisMFreeSharedMemory(
[in] NDIS_HANDLE MiniportAdapterHandle,
[in] ULONG Length,
[in] BOOLEAN Cached,
[in] PVOID VirtualAddress,
[in] NDIS_PHYSICAL_ADDRESS PhysicalAddress
);
Parametri
[in] MiniportAdapterHandle
Specifica l'input originale dell'handle per MiniportInitializeEx.
[in] Length
Specifica il numero di byte allocati in origine.
[in] Cached
Specifica TRUE se l'allocazione originale è memorizzabile nella cache.
[in] VirtualAddress
Specifica l'indirizzo virtuale di base restituito da NdisMAllocateSharedMemory o NdisMAllocateSharedMemoryAsyncEx.
[in] PhysicalAddress
Specifica l'indirizzo fisico corrispondente restituito da NdisMAllocateSharedMemory o NdisMAllocateSharedMemoryAsyncEx.
Valore restituito
nessuno
Osservazioni
Se ha già effettuato una chiamata a NdisMAllocateSharedMemory o NdisMAllocateSharedMemoryAsyncEx, il driver miniport di un dispositivo DMA chiama NdisMFreeSharedMemory se si verifica una delle condizioni seguenti:
- La funzione MiniportInitializeEx non è in grado di inizializzare la scheda di interfaccia di rete, quindi questa funzione deve rilasciare tutte le attestazioni esistenti per le risorse hardware per tale scheda di interfaccia di rete prima di restituire il controllo.
- Scheda di interfaccia di rete per cui il driver miniport allocato la memoria viene rimossa.
- Il driver viene scaricato, indipendentemente dal fatto che il sistema stia arrestando o perché l'utente ha riconfigurato i componenti di rete utilizzati nel computer.
- Il driver ha allocato memoria condivisa aggiuntiva con NdisMAllocateSharedMemoryAsyncEx quando la richiesta di I/O su una scheda di interfaccia di rete era elevata, ma il traffico di rete è ora diminuito a un livello medio.
Non è possibile chiamare NdisMFreeSharedMemory da una funzione MiniportShutdownEx.
Microsoft Windows Server 2003, Windows XP Service Pack 1 e versioni successive di Windows consentono alle schede di interfaccia di rete DMA master del bus e alle schede di interfaccia di rete DMA subordinate di chiamare NdisMFreeSharedMemory. Le versioni precedenti consentono solo alle schede di interfaccia di rete DMA master del bus di chiamare NdisMFreeSharedMemory.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisMFreeSharedMemory (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisMFreeSharedMemory (NDIS 5.1)) in Windows XP. |
Piattaforma di destinazione | Universale |
Intestazione | ndis.h (include Ndis.h) |
Libreria | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | Irql_Miniport_Driver_Function(ndis), NdisMFreeSharedMemory(ndis) |