GlobalMemoryStatus,Win32 API函式。 此函式用來獲得當前可用的物理和虛擬記憶體信息
基本介紹
- 外文名:GlobalMemoryStatus
- 特點:此函式無返回值
- 用途:獲得當前可用物理和虛擬記憶體信息
- 性質:Win32 API函式
函式定義為:
VOID GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer);
此函式無返回值,參數是一個指向名為MEMORYSTATUS的結構的指針。函式的返回信息會被存儲在MEMORYSTATUS結構中。
此函式用來替代用來支持16位應用程式的GetFreeSpace函式。
2G以上記憶體建議使用GlobalMemoryStatusEx函式代替(2~4G需要連結器/LARGEADDRESSAWARE選項,4G以上不支持)
應用程式應該在申請記憶體前調用此函式以防止影響到其他程式運行。
這個函式的返回值是動態的,並且可能返回相同的值。
關於MEMORYSTATUS結構:
結構定義:
typedef struct _MEMORYSTATUS { // mstDWORD dwLength; // sizeof(MEMORYSTATUS)DWORD dwMemoryLoad; // percent of memory in useDWORD dwTotalPhys; // bytes of physical memoryDWORD dwAvailPhys; // free physical memory bytesDWORD dwTotalPageFile; // bytes of paging fileDWORD dwAvailPageFile; // free bytes of paging fileDWORD dwTotalVirtual; // user bytes of address spaceDWORD dwAvailVirtual; // free user bytes} MEMORYSTATUS, *LPMEMORYSTATUS;
結構成員的含義:
dwLength
MEMORYSTATUS結構的大小,在調GlobalMemoryStatus函式前用sizeof()函式求得,用來供函式檢測結構的版本。
dwMemoryLoad
返回一個介於0~100之間的值,用來指示當前系統記憶體的使用率。
dwTotalPhys
返回總的物理記憶體大小,以位元組(byte)為單位。
dwAvailPhys
返回可用的物理記憶體大小,以位元組(byte)為單位。
dwTotalPageFile
顯示可以存在頁面檔案中的位元組數。注意這個數值並不表示在頁面檔案在磁碟上的真實物理大小。
dwAvailPageFile
返回可用的頁面檔案大小,以位元組(byte)為單位。
dwTotalVirtual
dwAvailVirtual
返回調用進程的用戶模式部分的實際自由可用的虛擬地址空間,以位元組(byte)為單位。
MEMORYSTATUS結構,
結構的定義如下:
MEMORYSTATUS STRUCTdwLength DWORD ? ;本結構的長度dwMemoryLoad DWORD ? ;已用記憶體的百分比dwTotalPhys DWORD ? ;物理記憶體總量dwAvailPhys DWORD ? ;可用物理記憶體dwTotalPageFile DWORD ? ;交換檔案總的大小dwAvailPageFile DWORD ? ;交換檔案中空閒部分大小dwTotalVirtual DWORD ? ;用戶可用的地址空間dwAvailVirtual DWORD ? ;當前空閒的地址空間MEMORYSTATUS ENDS