MmGetSystemAddressForMdl-Makro (wdm.h)
Die MmGetSystemAddressForMdl-Routine ist veraltet. Verwenden Sie stattdessen MmGetSystemAddressForMdlSafe.
MmGetSystemAddressForMdl ist ein Makro, das eine nicht ausgelagerte virtuelle Adresse für den von der MDL beschriebenen Puffer zurückgibt. Sie ordnet die physischen Seiten, die von einer bestimmten MDL beschrieben werden, dem Systembereich zu, wenn sie noch nicht dem Systembereich zugeordnet sind.
Syntax
PVOID MmGetSystemAddressForMdl(
MDL
);
Parameter
[in] MDL
Zeiger auf einen Puffer, dessen entsprechende virtuelle Basisadresse zugeordnet werden soll.
Rückgabewert
Nichts
Bemerkungen
MmGetSystemAddressForMdl gibt die virtuelle Basisadresse des Systemraums zurück, die die physischen Seiten zugeordnet, 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->MdlAddressbeschrieben wird, für einen Benutzerpuffer in einen Adressbereich des Systemraums.
Die MDL muss nicht seitenfähigem Arbeitsspeicher beschreiben. Mit anderen Worten: Die Eingabe-MDL muss einen bereits gesperrten Benutzerraumpuffer beschreiben, der von MmProbeAndLockPageszurückgegeben wird, einen gesperrten Puffer, der von MmBuildMdlForNonPagedPoolzurückgegeben wird, oder systemspeichern, der aus nicht ausgelagertem Pool, zusammenhängendem Speicher oder nicht zwischengespeichertem Speicher zugeordnet wurde.
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, Systemspeicher zuzuordnen, fehlschlägt. Daher sollten Sie stattdessen MmGetSystemAddressForMdlSafe) verwenden).
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Obsolet. Verwenden Sie stattdessen MmGetSystemAddressForMdlSafe. |
Zielplattform- | Desktop |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL- | IRQL-<= DISPATCH_LEVEL |