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