GlobalMemoryStatus,Win32 API函數(shù),。 此函數(shù)用來獲得當(dāng)前可用的物理和虛擬內(nèi)存信息,,函數(shù)定義為: VOID GlobalMemoryStatus ( LPMEMORYSTATUS lpBuffer ); 此函數(shù)無返回值,參數(shù)是一個指向名為MEMORYSTATUS的結(jié)構(gòu)的指針,。函數(shù)的返回信息會被存儲在MEMORYSTATUS結(jié)構(gòu)中,。 此函數(shù)用來替代用來支持16位應(yīng)用程序的GetFreeSpace函數(shù)。 應(yīng)用程序應(yīng)該在申請內(nèi)存前調(diào)用此函數(shù)以防止影響到其他程序運行,。 這個函數(shù)的返回值是動態(tài)的,,并且可能返回相同的值。 關(guān)于MEMORYSTATUS結(jié)構(gòu): 機構(gòu)定義: typedef struct _MEMORYSTATUS { // mst DWORD dwLength; // sizeof(MEMORYSTATUS) DWORD dwMemoryLoad; // percent of memory in use DWORD dwTotalPhys; // bytes of physical memory DWORD dwAvailPhys; // free physical memory bytes DWORD dwTotalPageFile; // bytes of paging file DWORD dwAvailPageFile; // free bytes of paging file DWORD dwTotalVirtual; // user bytes of address space DWORD dwAvailVirtual; // free user bytes } MEMORYSTATUS, *LPMEMORYSTATUS; 結(jié)構(gòu)成員的含義: dwLength MEMORYSTATUS結(jié)構(gòu)的大小,,在調(diào)GlobalMemoryStatus函數(shù)前用sizeof()函數(shù)求得,,用來供函數(shù)檢測結(jié)構(gòu)的版本。 dwMemoryLoad 返回一個介于0~100之間的值,,用來指示當(dāng)前系統(tǒng)內(nèi)存的使用率,。 dwTotalPhys 返回總的物理內(nèi)存大小,以字節(jié)(byte)為單位,。 dwAvailPhys 返回可用的物理內(nèi)存大小,,以字節(jié)(byte)為單位。 dwTotalPageFile 顯示可以存在頁面文件中的字節(jié)數(shù),。注意這個數(shù)值并不表示在頁面文件在磁盤上的真實物理大小,。 dwAvailPageFile 返回可用的頁面文件大小,,以字節(jié)(byte)為單位。 dwTotalVirtual 返回調(diào)用進程的用戶模式部分的全部可用虛擬地址空間,,以字節(jié)(byte)為單位,。 dwAvailVirtual 返回調(diào)用進程的用戶模式部分的實際自由可用的虛擬地址空間,以字節(jié)(byte)為單位,。 MEMORYSTATUS結(jié)構(gòu),, 結(jié)構(gòu)的定義如下: MEMORYSTATUS STRUCT dwLength DWORD ? ;本結(jié)構(gòu)的長度 dwMemoryLoad DWORD ? ,;已用內(nèi)存的百分比 dwTotalPhys DWORD ? ,;物理內(nèi)存總量 dwAvailPhys DWORD ? ;可用物理內(nèi)存 dwTotalPageFile DWORD ? ,;交換文件總的大小 dwAvailPageFile DWORD ? ,;交換文件中空閑部分大小 dwTotalVirtual DWORD ? ;用戶可用的地址空間 dwAvailVirtual DWORD ? ,;當(dāng)前空閑的地址空間 MEMORYSTATUS ENDS |
|