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) |