MmGetMdlPfnArray 宏 (wdm.h)

MmGetMdlPfnArray 宏會傳回與記憶體描述元清單相關聯之實體頁碼陣列開頭的指標, (MDL) 。

語法

PPFN_NUMBER MmGetMdlPfnArray(
  _In_ PMDL Mdl
);

參數

Mdl

MDL 的指標。

傳回值

MmGetMdlPfnArray 會傳回與 MDL 相關聯之實體頁碼數位數組開頭的指標。

備註

宏定義:

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

陣列中的項目數目 ADDRESS_AND_SIZE_TO_SPAN_PAGES (MmGetMdlVirtualAddress (Mdl) 、 MmGetMdlByteCount (Mdl) ) 。

每個陣列元素都是類型為 PFN_NUMBER 的整數值,其定義於Wdm.h 頭檔中,如下所示:

typedef ULONG PFN_NUMBER, *PPFN_NUMBER;

變更陣列的內容可能會導致難以診斷的細微系統問題。 我們建議您不要讀取或變更此陣列的內容。

對於可分頁記憶體,陣列的內容僅適用於使用 MmProbeAndLockPages 鎖定的緩衝區。

針對非分頁集區,陣列的內容僅適用於使用 MmBuildMdlForNonPagedPool、MmAllocatePagesForMdlExMmAllocatePagesForMdl 更新的 MDL。

如需 MDL 的詳細資訊,請參閱 使用 MDL

規格需求

需求
標頭 wdm.h (包含 Wdm.h)
IRQL 任何層級
DDI 合規性規則 MdlAfterReqCompletedIntIoctlA (kmdf) MdlAfterReqCompletedIoctlA (kmdf) MdlAfterReqCompletedReadA (kmdf) MdlAfterReqCompletedWriteA (kmdf)