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


Функция 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 (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

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

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping