Makro MmGetSystemAddressForMdl (wdm.h)
Rutinitas MmGetSystemAddressForMdl sudah usang. Gunakan MmGetSystemAddressForMdlSafe sebagai gantinya.
MmGetSystemAddressForMdl adalah makro yang mengembalikan alamat virtual ruang sistem yang tidak di-patahkan untuk buffer yang dijelaskan oleh MDL. Ini memetakan halaman fisik yang dijelaskan oleh MDL tertentu ke dalam ruang sistem, jika belum dipetakan ke ruang sistem.
Sintaks
PVOID MmGetSystemAddressForMdl(
MDL
);
Parameter
[in] MDL
Pointer ke buffer yang alamat virtual dasarnya sesuai akan dipetakan.
Nilai kembali
Tidak ada
Keterangan
MmGetSystemAddressForMdl mengembalikan alamat virtual ruang sistem dasar yang memetakan halaman fisik yang dijelaskan oleh MDL yang diberikan.
Driver perangkat PIO memanggil rutinitas ini untuk menerjemahkan rentang alamat virtual, yang dijelaskan oleh MDL di Irp-MdlAddress>, untuk buffer pengguna ke rentang alamat ruang sistem.
MDL harus menjelaskan memori yang tidak dapat diterjemahkan. Dengan kata lain, MDL input harus menjelaskan buffer ruang pengguna yang sudah dikunci yang dikembalikan oleh MmProbeAndLockPages, buffer terkunci yang dikembalikan oleh MmBuildMdlForNonPagedPool, atau memori ruang sistem yang dialokasikan dari kumpulan yang tidak di-patahkan, memori yang berdekatan, atau memori non-cache.
Alamat dasar yang dikembalikan memiliki offset yang sama dengan alamat virtual di MDL.
Jendela mengeluarkan pemeriksaan bug jika upaya untuk memetakan ke ruang sistem gagal. Oleh karena itu, Anda harus menggunakan MmGetSystemAddressForMdlSafe sebagai gantinya).
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Kedaluwarsa. Gunakan MmGetSystemAddressForMdlSafe sebagai gantinya. |
Target Platform | Desktop |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | IRQL <= DISPATCH_LEVEL |