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

另请参阅

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping