共用方式為


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) 之前的 NT 型作系統,MmMapLockedPages 會傳回對應頁面第一頁的起始位址。

言論

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

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

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

要求

要求 價值
最低支援的用戶端 Windows 2000 和更新版本的 Windows 和 Windows Me 已過時。 只有必須在 Windows 98 上執行的 WDM 驅動程式才支援此例程。 否則,請使用 MmMapLockedPagesSpecifyCache。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 請參閱一節。
DDI 合規性規則 HwStorPortProhibitedDIs(storport)

另請參閱

mmGetSystemAddressForMdl

mmGetSystemAddressForMdlSafe

mmMapLockedPagesSpecifyCache

mmProbeAndLockPages

mmUnmapLockedPages