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