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

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

Синтаксис

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

Параметры

[in] NumberOfBytes

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

[in] PoolTag

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

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

MmAllocateMappingAddress возвращает указатель на начало зарезервированного буфера памяти, если операция выполнена успешно; в противном случае возвращает значение NULL.

Замечания

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

Требования

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

См. также

MmAllocateMappingAddressEx

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping