Freigeben über


MmGetMdlVirtualAddress-Makro (wdm.h)

Das MmGetMdlVirtualAddress Makros gibt die virtuelle Basisadresse eines puffers zurück, der von einer MDL beschrieben wird.

Syntax

PVOID
MmGetMdlVirtualAddress (
    _In_ PMDL Mdl
    )

Parameter

[in] Mdl

Zeigen Sie auf eine MDL, die den Puffer beschreibt, für den die ursprüngliche virtuelle Adresse zurückgegeben werden soll.

Rückgabewert

Nichts

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 den Arbeitsspeicher zu verwenden, insbesondere den Speicherplatz des Benutzers.

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 auf jedem IRQL ausgeführt werden. Normalerweise wird der Aufrufer bei IRQL = DISPATCH_LEVEL ausgeführt, da diese Routine häufig aufgerufen wird, um den CurrentVa Parameter abzurufen, um MapTransfer.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Header- wdm.h
IRQL- Beliebige Ebene (siehe Hinweise)
DDI-Complianceregeln MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf)