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