1

我正在编写一个诊断应用程序,它需要记录用户设置为他的用户模式空间,也就是用户模式虚拟地址空间,也就是 WinXP 中的 /3GB 开关或 Vista/Win7 上 bcdedit 中的 increaseuserva 开关。

C++ 或 C++/CLI 都可以。

有任何想法吗 ?

4

1 回答 1

0

GlobalMemoryStatusEx会给你一个MEMORYSTATUSEX结构ullTotalVirtual

调用进程的虚拟地址空间的用户模式部分的大小,以字节为单位。该值取决于进程类型、处理器类型和操作系统的配置。例如,对于 x86 处理器上的大多数 32 位进程,该值约为 2 GB,对于在启用了 4 GB 调整的系统上运行的大地址感知的 32 位进程,该值约为 3 GB。

请注意,您必须将您的 EXE 标记为LARGEADDRESSAWARE才能在您的进程中看到 3GB

我认为还有另一个函数也返回此信息(不 - 不是已弃用的GlobalMemoryStatus)以及处理器信息 - 但我不记得它是 ATM。

于 2009-05-21T20:14:44.870 回答