Freigeben über


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)