前引:
系统内存(Memory)信息是类似如下表格的信息:
在设备上选择”Start – Setting – System – Memory - Main”可以看到有Storage和Program两项,严格意义上说这样划分和它的标题”Memory”并不符合,我想MS只是想告诉普通用户一些设备的基本信息。然而作为开发人员就不能这么简单的认为了。
在这之前我们需要了解一下Memory和Storage的区别,简单的说Memory(即上面的Program)就是RAM,而Storage就是ROM。如果您想明白的更透彻,参考:Mike Calligaro的RAM, ROM, NAND, NOR--That's A Lot Of Capital Letters...
获取系统的物理和虚拟内存。
void GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer );
RAPI 对应版本为:
void CeGlobalMemoryStatus( LPMEMORYSTATUS lpmst );
参数为MEMORYSTATUS类型,如下:
typedef struct _MEMORYSTATUS {
DWORD dwLength; // 结构体大小
DWORD dwMemoryLoad; // 内存使用百分比
WORD dwTotalPhys; // 物理内存总大小
DWORD dwAvailPhys; // 可用物理内存大小
DWORD dwTotalPageFile; // 可存储在页面文件的字节总大小
DWORD dwAvailPageFile; // 页面文件的可用字节大小
DWORD dwTotalVirtual; // 可提供给用户调用进程的虚拟内存字节大小
DWORD dwAvailVirtual; // 可提供给用户调用进程的可用虚拟内存字节大小
} MEMORYSTATUS, *LPMEMORYSTATUS;
注意: 在创建MEMORYSTATUS对象时需要将对象大小赋值给dwLength参数。

二 获取内核态对象存储和系统内存信息
BOOL GetSystemMemoryDivision(
LPDWORD lpdwStorePages, LPDWORD lpdwRamPages, LPDWORD lpdwPageSize);
注意: MSDN并不赞成使用该函数

--------------------------------------------------
李森 – listen |
声明: Announce: |