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


Функция 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 при сбое, а не вызывает ошибку проверка.) Если AccessMode имеет значение UserMode и указанные страницы не могут быть сопоставлены, подпрограмма создает исключение. Вызывающие абоненты, указывающие UserMode, должны заключать вызов к MmMapLockedPages в блок try/except . Дополнительные сведения см. в разделе Обработка исключений.

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

Требования

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

См. также раздел

MmGetSystemAddressForMdl

MmGetSystemAddressForMdlSafe

MmMapLockedPagesSpecifyCache

MmProbeAndLockPages

MmUnmapLockedPages