Partager via


Macro MmGetMdlVirtualAddress (wdm.h)

La macro MmGetMdlVirtualAddress retourne l’adresse virtuelle de base d’une mémoire tampon décrite par un MDL.

Syntaxe

PVOID
MmGetMdlVirtualAddress (
    _In_ PMDL Mdl
    )

Paramètres

[in] Mdl

Pointeur vers un MDL qui décrit la mémoire tampon pour laquelle retourner l’adresse virtuelle initiale.

Valeur de retour

Aucun

Remarques

MmGetMdlVirtualAddress retourne l’adresse virtuelle de départ du MDL.

MmGetMdlVirtualAddress retourne une adresse virtuelle qui n’est pas nécessairement valide dans le contexte de thread actuel. Les pilotes de niveau inférieur ne doivent pas tenter d’utiliser l’adresse virtuelle retournée pour accéder à la mémoire, en particulier l’espace mémoire utilisateur.

L’adresse retournée, utilisée en tant qu’index pour une entrée d’adresse physique dans le MDL, peut être entrée dans MapTransfer.

Les appelants de MmGetMdlVirtualAddress peuvent s’exécuter à n’importe quel runtime IRQL. En règle générale, l’appelant s’exécute à IRQL = DISPATCH_LEVEL, car cette routine est couramment appelée pour obtenir le paramètre CurrentVa pour MapTransfer.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000
d’en-tête wdm.h
IRQL N’importe quel niveau (voir Remarques)
règles de conformité DDI mdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf)