QueryVirtualMemoryInformation 函数 (memoryapi.h)

QueryVirtualMemoryInformation 函数返回有关指定进程的虚拟地址空间中的一页或一组页面的信息。

语法

BOOL QueryVirtualMemoryInformation(
  [in]            HANDLE                         Process,
  [in]            const VOID                     *VirtualAddress,
  [in]            WIN32_MEMORY_INFORMATION_CLASS MemoryInformationClass,
  [out]           PVOID                          MemoryInformation,
  [in]            SIZE_T                         MemoryInformationSize,
  [out, optional] PSIZE_T                        ReturnSize
);

参数

[in] Process

要查询的页面所在的上下文的进程句柄。

[in] VirtualAddress

要查询的页区域的地址。 此值向下舍入到下一个主机页地址边界。

[in] MemoryInformationClass

要检索其相关信息的内存信息类。 唯一支持的值是 MemoryRegionInfo

[out] MemoryInformation

指向接收指定信息的缓冲区的指针。

如果 MemoryInformationClass 参数的值为 MemoryRegionInfo,则此参数必须指向 WIN32_MEMORY_REGION_INFORMATION 结构。

[in] MemoryInformationSize

指定内存信息缓冲区的长度(以字节为单位)。

[out, optional] ReturnSize

一个可选指针,如果指定,则接收放置在内存信息缓冲区中的字节数。

返回值

成功时返回 TRUE 。 如果失败,则返回 FALSE 。 要获得更多的错误信息,请调用 GetLastError。

注解

如果 MemoryInformationClass 参数的值为 MemoryRegionInfo则 MemoryInformation 参数必须指向 WIN32_MEMORY_REGION_INFORMATION 结构。 VirtualAddress 参数必须指向有效内存分配中的地址。 如果 VirtualAddress 参数指向未分配的内存区域,则函数将失败。

要求

要求
最低受支持的客户端 Windows 10版本 1607 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 memoryapi.h (包括 Windows.h)
Library Onecore.lib
DLL Api-ms-win-core-memory-l1-1-4.dll

另请参阅

GetLastError

MEMORY_BASIC_INFORMATION

WIN32_MEMORY_REGION_INFORMATION