複製鏈接
請複製以下鏈接發送給好友

GlobalMemoryStatus

鎖定
GlobalMemoryStatus,Win32 API函數。 此函數用來獲得當前可用的物理和虛擬內存信息。
外文名
GlobalMemoryStatus
特    點
此函數無返回值
用    途
獲得當前可用物理和虛擬內存信息
性    質
Win32 API函數
函數定義為:
VOID GlobalMemoryStatus
(
LPMEMORYSTATUS lpBuffer
);
此函數無返回值,參數是一個指向名為MEMORYSTATUS的結構的指針。函數的返回信息會被存儲在MEMORYSTATUS結構中。
此函數用來替代用來支持16位應用程序的GetFreeSpace函數。
2G以上內存建議使用GlobalMemoryStatusEx函數代替(2~4G需要鏈接器/LARGEADDRESSAWARE選項,4G以上不支持)
應用程序應該在申請內存前調用此函數以防止影響到其他程序運行。
這個函數的返回值是動態的,並且可能返回相同的值。
關於MEMORYSTATUS結構:
結構定義:
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;
結構成員的含義:
dwLength
MEMORYSTATUS結構的大小,在調GlobalMemoryStatus函數前用sizeof( )函數求得,用來供函數檢測結構的版本。
dwMemoryLoad
返回一個介於0~100之間的值,用來指示當前系統內存的使用率。
dwTotalPhys
返回總的物理內存大小,以字節(byte)為單位。
dwAvailPhys
返回可用的物理內存大小,以字節(byte)為單位。
dwTotalPageFile
顯示可以存在頁面文件中的字節數。注意這個數值並不表示在頁面文件在磁盤上的真實物理大小。
dwAvailPageFile
返回可用的頁面文件大小,以字節(byte)為單位。
dwTotalVirtual
返回調用進程的用户模式部分的全部可用虛擬地址空間,以字節(byte)為單位。
dwAvailVirtual
返回調用進程的用户模式部分的實際自由可用的虛擬地址空間,以字節(byte)為單位。
MEMORYSTATUS結構,
結構的定義如下:
MEMORYSTATUS STRUCT
dwLength            DWORD      ?     ;本結構的長度
dwMemoryLoad      DWORD      ?     ;已用內存的百分比
dwTotalPhys       DWORD      ?     ;物理內存總量
dwAvailPhys       DWORD      ?     ;可用物理內存
dwTotalPageFile   DWORD      ?     ;交換文件總的大小
dwAvailPageFile   DWORD      ?     ;交換文件中空閒部分大小
dwTotalVirtual    DWORD      ?     ;用户可用的地址空間
dwAvailVirtual    DWORD      ?     ;當前空閒的地址空間
MEMORYSTATUS ENDS