Partager via


Macro MmGetSystemAddressForMdl (wdm.h)

La routine MmGetSystemAddressForMdl est obsolète. Utilisez MmGetSystemAddressForMdlSafe à la place.

MmGetSystemAddressForMdl est une macro qui retourne une adresse virtuelle d’espace système non paginé pour la mémoire tampon décrite par mdL. Il mappe les pages physiques décrites par un MDL donné dans l’espace système, s’ils ne sont pas déjà mappés à 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

Aucun

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 virtuelles, décrite par mdL à Irp->MdlAddress, pour une mémoire tampon utilisateur en plage d’adressage 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 nonpage, d’une mémoire contiguë ou d’une 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.

La fenêtre émet une vérification de bogue si la tentative de mappage à l’espace système échoue. Par conséquent, vous devez utiliser MmGetSystemAddressForMdlSafe à la place).

Exigences

Exigence Valeur
client minimum pris en charge Obsolète. Utilisez à la place MmGetSystemAddressForMdlSafe.
plateforme cible Bureau
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL IRQL <= DISPATCH_LEVEL

Voir aussi

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

mmProbeAndLockPages