MmGetMdlVirtualAddress-Makro (wdm.h)
Das Makro MmGetMdlVirtualAddress gibt die virtuelle Basisadresse eines Puffers zurück, der durch eine MDL beschrieben wird.
Syntax
PVOID
MmGetMdlVirtualAddress (
_In_ PMDL Mdl
)
Parameter
[in] Mdl
Zeiger auf eine MDL, die den Puffer beschreibt, für den die anfängliche virtuelle Adresse zurückgegeben werden soll.
Rückgabewert
Keine
Bemerkungen
MmGetMdlVirtualAddress gibt die virtuelle Startadresse der MDL zurück.
MmGetMdlVirtualAddress gibt eine virtuelle Adresse zurück, die im aktuellen Threadkontext nicht unbedingt gültig ist. Treiber auf niedrigerer Ebene sollten nicht versuchen, die zurückgegebene virtuelle Adresse für den Zugriff auf Arbeitsspeicher, insbesondere auf den Speicherplatz des Benutzers, zu verwenden.
Die zurückgegebene Adresse, die als Index für einen physischen Adresseintrag in der MDL verwendet wird, kann in MapTransfer eingegeben werden.
Aufrufer von MmGetMdlVirtualAddress können in jedem IRQL ausgeführt werden. In der Regel wird der Aufrufer mit IRQL = DISPATCH_LEVEL ausgeführt, da diese Routine häufig aufgerufen wird, um den CurrentVa-Parameter für MapTransfer abzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 |
Kopfzeile | wdm.h |
IRQL | Beliebige Ebene (siehe Hinweise) |
DDI-Complianceregeln | MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf) |