mmMapLockedPages 函式 (wdm.h)

MmMapLockedPages 例程已過時,適用於 Windows 2000 和更新版本的 Windows,以及 Windows Me。 它僅支持必須在 Windows 98 上執行的 WDM 驅動程式。 否則,請使用 MmMapLockedPagesSpecifyCache

MmMapLockedPages 例程會對應指定 MDL 所描述的實體頁面。

語法

PVOID MmMapLockedPages(
  [in] PMDL                                                                          MemoryDescriptorList,
  [in] __drv_strictType(KPROCESSOR_MODE / enum _MODE,__drv_typeConst)KPROCESSOR_MODE AccessMode
);

參數

[in] MemoryDescriptorList

MmProbeAndLockPages 所更新之 MDL 的指標。

[in] AccessMode

指定要對應 MDL、 KernelModeUserMode 的存取模式。 幾乎所有驅動程式都應該使用 KernelMode

傳回值

MmMapLockedPages 會傳回對應頁面的起始位址。 (在 Windows NT 4.0 Service Pack 4 (SP4) 之前,MmMapLockedPages 會傳回對應頁面第一頁的起始位址。)

備註

使用 MmUnmapLockedPages 取消對應 MmMapLockedPages 所對應的實體頁面。

如果 AccessMode 是 KernelModeMmMapLockedPages 無法對應指定的頁面,則系統會發出錯誤檢查。 (基於這個理由,驅動程式應該在可用時使用 MmMapLockedPagesSpecifyCache;該例程會在失敗時傳回 NULL,而不是造成錯誤檢查。) 如果 AccessMode 是 UserMode 且無法對應指定的頁面,例程就會引發例外狀況。 指定 UserMode 的呼叫端必須在 try/except 區塊中包裝對 MmMapLockedPages 的呼叫。 如需詳細資訊,請參閱 處理例外狀況

如果 AccessMode 為 KernelMode,MmMapLockedPages 的呼叫端必須在 IRQL <= DISPATCH_LEVEL執行。 否則,呼叫端必須在 IRQL <= APC_LEVEL執行。

規格需求

需求
最低支援的用戶端 適用於 Windows 2000 和更新版本的 Windows,以及 Windows Me。 只有必須在 Windows 98 上執行的 WDM 驅動程式才支援此例程。 否則,請使用 MmMapLockedPagesSpecifyCache。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 請參閱一節。
DDI 合規性規則 HwStorPortProhibitedDIS (storport)

另請參閱

MmGetSystemAddressForMdl

MmGetSystemAddressForMdlSafe

MmMapLockedPagesSpecifyCache

MmProbeAndLockPages

MmUnmapLockedPages