Поделиться через


Функция MmMapLockedPages (wdm.h)

Подпрограмма MmMapLockedPages устаревших для Windows 2000 и более поздних версий Windows, а также для Windows Me. Она поддерживается только для драйверов WDM, которые должны работать в Windows 98. В противном случае используйте MmMapLockedPagesSpecifyCache.

MmMapLockedPages подпрограммы сопоставляют физические страницы, описанные заданным MDL.

Синтаксис

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

Параметры

[in] MemoryDescriptorList

Указатель на MDL, который был обновлен MmProbeAndLockPages.

[in] AccessMode

Указывает режим доступа, в котором сопоставляется MDL, либо KernelMode или UserMode. Почти все драйверы должны использовать KernelMode.

Возвращаемое значение

MmMapLockedPages возвращает начальный адрес сопоставленных страниц. (Для операционных систем на основе NT до Windows NT 4.0 с пакетом обновления 4 (SP4) MmMapLockedPages возвращает начальный адрес первой страницы сопоставленных страниц.)

Замечания

Используйте MmUnmapLockedPages, чтобы распаковать физические страницы, сопоставленные MmMapLockedPages.

Если AccessMode является KernelMode и MmMapLockedPages не удается сопоставить указанные страницы, система выдает проверку ошибок. (По этой причине драйверы должны использовать MmMapLockedPagesSpecifyCache при наличии; эта подпрограмма возвращает NULL при сбое, а не вызывает проверку ошибок.) Если AccessModeUserMode и не удается сопоставить указанные страницы, подпрограмма вызывает исключение. Вызывающие пользователи, указывающие UserMode, должны упаковать вызов MmMapLockedPages в блок try/за исключением. Дополнительные сведения см. в обработке исключений.

Вызовы MmMapLockedPages должны выполняться в IRQL <= DISPATCH_LEVEL, если AccessModeKernelMode. В противном случае вызывающий объект должен работать в IRQL <= APC_LEVEL.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Устарело для Windows 2000 и более поздних версий Windows, а также для Windows Me. Эта подпрограмма поддерживается только для драйверов WDM, которые должны работать в Windows 98. В противном случае используйте MmMapLockedPagesSpecifyCache.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL См. раздел "Примечания".
правил соответствия DDI HwStorPortProhibitedDIs(storport)

См. также

MmGetSystemAddressForMdl

MmGetSystemAddressForMdlSafe

MmMapLockedPagesSpecifyCache

mmProbeAndLockPages

MmUnmapLockedPages