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


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

MmAllocateMappingAddress зарезервирует диапазон системного виртуального адресного пространства указанного размера.

Синтаксис

PVOID MmAllocateMappingAddress(
  [in] SIZE_T NumberOfBytes,
  [in] ULONG  PoolTag
);

Параметры

[in] NumberOfBytes

Указывает количество байтов для резервирования.

[in] PoolTag

Указывает четырехзначный тег, используемый для идентификации буфера. Используйте отдельный тег PoolTag для каждого пути кода выделения. Описание тегов пула см. в разделе ExAllocatePoolWithTag.

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

MmAllocateMappingAddress возвращает указатель на начало зарезервированного буфера памяти.

Замечания

MmAllocateMappingAddress резервирует диапазон виртуальных адресов системы для используемого вызывающего объекта. Физическая память не выделяется для диапазона виртуальных адресов, а виртуальная память не может быть сопоставлена с подпрограммой MmMapLockedPagesWithReservedMapping. Вызывающий объект распакует зарезервированный диапазон памяти, вызвав подпрограмму MmUnmapReservedMapping. Наконец, вызывающий объект может освободить зарезервированный диапазон, вызвав MmFreeMappingAddress.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows XP и более поздних версиях Windows.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

См. также

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping