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

None

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 comme index d’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 IRQL. En règle générale, l’appelant s’exécute sur IRQL = DISPATCH_LEVEL, car cette routine est généralement appelée pour obtenir le paramètre CurrentVa sur MapTransfer.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
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)