Macro MmGetSystemAddressForMdl (wdm.h)
La routine MmGetSystemAddressForMdl est obsolète. Utilisez à la place MmGetSystemAddressForMdlSafe .
MmGetSystemAddressForMdl est une macro qui retourne une adresse virtuelle d’espace système non paginée pour la mémoire tampon décrite par le MDL. Il mappe les pages physiques décrites par un MDL donné dans l’espace système, si elles ne sont pas déjà mappées à l’espace système.
Syntaxe
PVOID MmGetSystemAddressForMdl(
MDL
);
Paramètres
[in] MDL
Pointeur vers une mémoire tampon dont l’adresse virtuelle de base correspondante doit être mappée.
Valeur de retour
None
Remarques
MmGetSystemAddressForMdl retourne l’adresse virtuelle de l’espace système de base qui mappe les pages physiques décrites par le MDL donné.
Les pilotes d’appareils PIO appellent cette routine pour traduire une plage d’adresses virtuelle, décrite par mdL sur Irp-MdlAddress>, pour une mémoire tampon utilisateur vers une plage d’adresses d’espace système.
Le MDL doit décrire la mémoire non modifiable. En d’autres termes, le MDL d’entrée doit décrire une mémoire tampon d’espace utilisateur déjà verrouillée retournée par MmProbeAndLockPages, une mémoire tampon verrouillée retournée par MmBuildMdlForNonPagedPool, ou une mémoire d’espace système allouée à partir d’un pool non paginé, de la mémoire contiguë ou de la mémoire non mise en cache.
L’adresse de base retournée a le même décalage que l’adresse virtuelle dans le MDL.
Window émet un bogue case activée si la tentative de mappage à l’espace système échoue. Par conséquent, vous devez utiliser MmGetSystemAddressForMdlSafe à la place).
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Obsolète. Utilisez à la place MmGetSystemAddressForMdlSafe. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | IRQL <= DISPATCH_LEVEL |