Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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 |