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、 KernelMode 或 UserMode 的存取模式。 幾乎所有驅動程式都應該使用 KernelMode。
傳回值
MmMapLockedPages 會傳回對應頁面的起始位址。 (在 Windows NT 4.0 Service Pack 4 (SP4) 之前,MmMapLockedPages 會傳回對應頁面第一頁的起始位址。)
備註
使用 MmUnmapLockedPages 取消對應 MmMapLockedPages 所對應的實體頁面。
如果 AccessMode 是 KernelMode 且 MmMapLockedPages 無法對應指定的頁面,則系統會發出錯誤檢查。 (基於這個理由,驅動程式應該在可用時使用 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) |