NdisMFreeSharedMemory, fonction (ndis.h)
NdisMFreeSharedMemory libère la mémoire précédemment allouée par NdisMAllocateSharedMemory ou NdisMAllocateSharedMemoryAsyncEx par le pilote d’une carte réseau DMA.
Syntaxe
void NdisMFreeSharedMemory(
[in] NDIS_HANDLE MiniportAdapterHandle,
[in] ULONG Length,
[in] BOOLEAN Cached,
[in] PVOID VirtualAddress,
[in] NDIS_PHYSICAL_ADDRESS PhysicalAddress
);
Paramètres
[in] MiniportAdapterHandle
Spécifie le handle entré à l’origine dans MiniportInitializeEx.
[in] Length
Spécifie le nombre d’octets alloués à l’origine.
[in] Cached
Spécifie TRUE si l’allocation d’origine peut être mise en cache.
[in] VirtualAddress
Spécifie l’adresse virtuelle de base retournée par NdisMAllocateSharedMemory ou NdisMAllocateSharedMemoryAsyncEx.
[in] PhysicalAddress
Spécifie l’adresse physique correspondante retournée par NdisMAllocateSharedMemory ou NdisMAllocateSharedMemoryAsyncEx.
Valeur de retour
None
Remarques
S’il a déjà effectué un appel réussi à NdisMAllocateSharedMemory ou NdisMAllocateSharedMemoryAsyncEx, le pilote miniport d’un appareil DMA appelle NdisMFreeSharedMemory si l’une des opérations suivantes se produit :
- Sa fonction MiniportInitializeEx ne pouvant pas initialiser la carte réseau, cette fonction doit libérer toutes les revendications existantes sur les ressources matérielles pour cette carte réseau avant qu’elle ne retourne le contrôle.
- La carte réseau pour laquelle le pilote miniport a alloué la mémoire est supprimée.
- Le pilote est en cours de déchargement, que ce soit parce que le système s’arrête ou parce que l’utilisateur a reconfiguré les composants réseau utilisés sur la machine.
- Le pilote a alloué de la mémoire partagée supplémentaire avec NdisMAllocateSharedMemoryAsyncEx lorsque la demande d’E/S sur une carte réseau était élevée, mais que le trafic réseau est maintenant passé à un niveau moyen.
NdisMFreeSharedMemory ne peut pas être appelé à partir d’une fonction MiniportShutdownEx .
Microsoft Windows Server 2003, Windows XP Service Pack 1 et versions ultérieures de Windows autorisent les cartes réseau DMA master bus et les cartes réseau DMA subordonnées à appeler NdisMFreeSharedMemory. Les versions antérieures autorisent uniquement les cartes réseau DMA master bus à appeler NdisMFreeSharedMemory.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisMFreeSharedMemory (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisMFreeSharedMemory (NDIS 5.1)) dans Windows XP. |
Plateforme cible | Universal |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | Irql_Miniport_Driver_Function(ndis),NdisMFreeSharedMemory(ndis) |