2 Star 4 Fork 4

精易科技/eapi

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
eapi_19_GetMemoryInfo.cpp 1.22 KB
一键复制 编辑 原始数据 按行查看 历史
AlongsCode 提交于 2023-02-09 00:42 +08:00 . 部分重构
#include "..\include_eapi_header.h"
// 调用格式: SDT_INT 取内存容量信息, 命令说明: "取内存容量信息,单位为M(兆)。"
// 参数<1>: 内存类型 SDT_INT, 参数说明: "可以被省略。要取得的内存类型,可以为以下常量值之一:0、#接口常量.总物理内存;1、#接口常量.可用物理内存;2、#接口常量.总虚拟内存;3、#接口常量.可用虚拟内存;4、#接口常量.总页面文件;5、#接口常量.可用页面文件。"
inline size_t GetMemoryInfo(unsigned short val)
{
unsigned long long result = 0;
MEMORYSTATUSEX BufferEx;
BufferEx.dwLength = sizeof(BufferEx);
GlobalMemoryStatusEx(&BufferEx);
switch (val)
{
case 1:
result = BufferEx.ullAvailPhys >> 20;
break;
case 2:
result = BufferEx.ullTotalVirtual >> 20;
break;
case 3:
result = BufferEx.ullAvailVirtual >> 20;
break;
case 4:
result = BufferEx.ullTotalPageFile >> 20;
break;
case 5:
result = BufferEx.ullAvailPageFile >> 20;
break;
default:
result = BufferEx.ullTotalPhys >> 20;
}
return static_cast<size_t>(result);
}
EAPI_EXTERN_C void eapi_GetMemoryInfo_19_eapi(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT Type = 0;
if (pArgInf->m_dtDataType == SDT_INT && pArgInf->m_int > 0 && pArgInf->m_int < 6)
{
Type = pArgInf->m_int;
}
pRetData->m_int = GetMemoryInfo(Type);
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/JYtechnology/eapi.git
git@gitee.com:JYtechnology/eapi.git
JYtechnology
eapi
eapi
master

搜索帮助