Makro MmGetMdlPfnArray (wdm.h)

Makro MmGetMdlPfnArray mengembalikan penunjuk ke awal array nomor halaman fisik yang terkait dengan daftar deskriptor memori (MDL).

Sintaks

PPFN_NUMBER MmGetMdlPfnArray(
  _In_ PMDL Mdl
);

Parameter

Mdl

Penunjuk ke MDL.

Mengembalikan nilai

MmGetMdlPfnArray mengembalikan penunjuk ke awal array nomor halaman fisik yang terkait dengan MDL.

Keterangan

Definisi makro:

#define MmGetMdlPfnArray(Mdl) ((PPFN_NUMBER)(Mdl + 1))

Jumlah entri dalam array adalah ADDRESS_AND_SIZE_TO_SPAN_PAGES(MmGetMdlVirtualAddress(Mdl), MmGetMdlByteCount(Mdl)).

Setiap elemen array adalah nilai bilangan bulat dari jenis PFN_NUMBER, yang didefinisikan dalam file header Wdm.h sebagai berikut:

typedef ULONG PFN_NUMBER, *PPFN_NUMBER;

Mengubah isi array dapat menyebabkan masalah sistem halang yang sulit didiagnosis. Kami menyarankan agar Anda tidak membaca atau mengubah isi array ini.

Untuk memori yang dapat di-pageable, konten array hanya valid untuk buffer yang dikunci dengan MmProbeAndLockPages.

Untuk kumpulan yang tidak di-patahkan, konten array hanya berlaku untuk MDL yang diperbarui dengan MmBuildMdlForNonPagedPool, MmAllocatePagesForMdlEx, atau MmAllocatePagesForMdl.

Untuk informasi selengkapnya tentang MDL, lihat Menggunakan MDL.

Persyaratan

Persyaratan Nilai
Header wdm.h (termasuk Wdm.h)
IRQL Tingkat apa pun
Aturan kepatuhan DDI MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf)