Freigeben über


MmGetSystemAddressForMdl-Makro (wdm.h)

Die MmGetSystemAddressForMdl-Routine ist veraltet. Verwenden Sie stattdessen MmGetSystemAddressForMdlSafe .

MmGetSystemAddressForMdl ist ein Makro, das eine virtuelle Adresse des nicht auslagerten Systemraums für den puffer zurückgibt, der von der MDL beschrieben wird. Die physischen Seiten, die von einer bestimmten MDL beschrieben werden, werden dem Systemraum zugeordnet, sofern sie nicht bereits dem Systemraum zugeordnet sind.

Syntax

PVOID MmGetSystemAddressForMdl(
   MDL
);

Parameter

[in] MDL

Zeiger auf einen Puffer, dessen entsprechende virtuelle Basisadresse zugeordnet werden soll.

Rückgabewert

Keine

Bemerkungen

MmGetSystemAddressForMdl gibt die virtuelle Basisadresse des Systemraums zurück, die den physischen Seiten zugeordnet wird, die von der angegebenen MDL beschrieben werden.

Treiber von PIO-Geräten rufen diese Routine auf, um einen virtuellen Adressbereich zu übersetzen, der von der MDL unter Irp-MdlAddress> für einen Benutzerpuffer in einen Systemraumadressbereich beschrieben wird.

Die MDL muss den nicht auslässigen Arbeitsspeicher beschreiben. Mit anderen Worten, die Eingabe-MDL muss einen bereits gesperrten Benutzerspeicherpuffer beschreiben, der von MmProbeAndLockPages zurückgegeben wird, einen gesperrten Puffer, der von MmBuildMdlForNonPagedPool zurückgegeben wird, oder einen Systemspeicherspeicher, der aus einem nicht auslagerten Pool, einem zusammenhängenden Arbeitsspeicher oder einem nicht zwischengespeicherten Arbeitsspeicher zugeordnet ist.

Die zurückgegebene Basisadresse hat den gleichen Offset wie die virtuelle Adresse in der MDL.

Fenster gibt eine Fehlerüberprüfung aus, wenn der Versuch, dem Systemspeicherplatz zuzuordnen, fehlschlägt. Daher sollten Sie stattdessen MmGetSystemAddressForMdlSafe verwenden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Veraltet. Verwenden Sie stattdessen MmGetSystemAddressForMdlSafe.
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
IRQL IRQL <= DISPATCH_LEVEL

Weitere Informationen

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages