gpt4 book ai didi

c++ - GetProcessMemoryInfo 错误

转载 作者:行者123 更新时间:2023-11-27 23:53:33 27 4
gpt4 key购买 nike

我在 C++ 中使用 psapi.h 编写用于查找当前进程的虚拟内存的代码我的代码如下

#include "windows.h" 
#include "psapi.h"

PROCESS_MEMORY_COUNTERS_EX pmc;
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc));
SIZE_T virtualMemUsedByMe = pmc.PrivateUsage;

现在这是我在 vs2012 ultimate 中编写这段代码并编译编译器告诉我的问题

no possible conversion from PROCESS_MEMORY_COUNTERS_EX* to PPROCESS_MEMORY_COUNTER

我不知道该怎么做。请帮忙。感谢您提前提供帮助。

最佳答案

您需要转换参数。当结构参数指针被扩展时,这在 Windows API 中并不少见。

您还需要检查返回值和返回的结构大小:

PROCESS_MEMORY_COUNTERS_EX pmc; 
if (GetProcessMemoryInfo(GetCurrentProcess(), (PROCESS_MEMORY_COUNTERS*) &pmc, sizeof(pmc)) && pmc.cb >= sizeof(pmc))
{
SIZE_T virtualMemUsedByMe = pmc.PrivateUsage;
// use virtualMemUsedByMe here
}

关于c++ - GetProcessMemoryInfo 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44339782/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com