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

Voir aussi

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages