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) 之前的 NT 型作系統,MmMapLockedPages 會傳回對應頁面第一頁的起始位址。
言論
使用 MmUnmapLockedPages 來取消對應 MmMapLockedPages所對應的實體頁面。
如果 AccessMode 為 KernelMode,且 MmMapLockedPages 無法對應指定的頁面,系統就會發出錯誤檢查。 (基於這個理由,驅動程式應該在可用時使用 MmMapLockedPagesSpecifyCache;該例程會在失敗時傳回 NULL,而不是造成錯誤檢查。如果 AccessModeUserMode 且無法對應指定的頁面,則例程會引發例外狀況。 指定 UserMode 的呼叫者必須在 try/except 區塊中包裝呼叫 MmMapLockedPages。 如需詳細資訊,請參閱 處理例外狀況。
MmMapLockedPages 的呼叫者必須在 IRQL <= DISPATCH_LEVEL,如果 AccessMode 是 KernelMode。 否則,呼叫端必須在 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) |