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) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |