Windows moible 系统信息之 — 内存信息(Memory)


 前引:
系统内存(Memory)信息是类似如下表格的信息:



在设备上选择”Start – Setting – System – Memory - Main”可以看到有StorageProgram两项,严格意义上说这样划分和它的标题”Memory”并不符合,我想MS只是想告诉普通用户一些设备的基本信息。然而作为开发人员就不能这么简单的认为了。
在这之前我们需要了解一下MemoryStorage的区别,简单的说Memory(即上面的Program)就是RAM,而Storage就是ROM。如果您想明白的更透彻,参考:Mike CalligaroRAM, 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参数。

PInvoke GlobalMemoryStatus

 


 二 获取内核态对象存储和系统内存信息

BOOL GetSystemMemoryDivision(

LPDWORD lpdwStorePages,  LPDWORD lpdwRamPages, LPDWORD lpdwPageSize);

注意: MSDN并不赞成使用该函数

PInvoke GetSystemMemoryDivision


 


 
 
 
 

--------------------------------------------------

李森 – listen
E-mail:  lisencool@gmail.com

声明:
这里集中了在WinCEWindows Mobile开发中的一些基本常识。我很乐意和大家分享,也希望大家提出意见,并给我投稿,我会第一时间替您发表并署上您的大名!

Announce:
Here collects general knowledge on WinCE and Windows mobile. I 'm very glad to share them with all friends, and also hope you can share your problems and opinions and contribute articles to me to share with others. I'll publish your articles and sign your name at the first time.

  

 

posted on 2009-10-10 15:02  listenlisten  阅读(663)  评论(2编辑  收藏  举报

导航