Bagikan melalui


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

Lihat juga

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages