如何以编程方式确定(Windows)操作系统的最大用户模式空间?
我正在编写一个诊断应用程序,它需要记录用户设置为用户模式空间(又名用户模式虚拟地址空间)的内容 又名 WinXP 中的 /3GB 开关或 Vista/Win7 上 bcdedit 中的increaseuserva 开关。
C++ 或 C++/CLI 都可以。
有任何想法吗 ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
GlobalMemoryStatusEx 将为您提供 MEMORYSTATUSEX 结构与
ullTotalVirtual
:请注意,您必须将 EXE 标记为 LARGEADDRESSAWARE< /a> 以便在您的进程中看到 3GB。
我认为还有另一个函数也返回此信息(不 - 不是 GlobalMemoryStatus(已弃用)以及处理器信息 - 但我不记得它是 ATM。
GlobalMemoryStatusEx will give you a MEMORYSTATUSEX struct with
ullTotalVirtual
:Note that you'd have to mark your EXE as LARGEADDRESSAWARE in order to see 3GB in your process.
I think there's another function that also returns this info (no - not GlobalMemoryStatus which is deprecated) along with processor info - but I can't recall it ATM.