How to: Determine Available Memory
4/19/2010
You can use the Windows Embedded CE GlobalMemoryStatus function to get information about the amount of available memory on the device, as shown in the following code example.
MEMORYSTATUS memInfo;
STORE_INFORMATION si;
TCHAR szBuf[MAX_PATH];
// Program memory.
memInfo.dwLength = sizeof(memInfo);
GlobalMemoryStatus(&memInfo);
wsprintf(szBuf, __TEXT("Total RAM: %d bytes\n Free: %d \nUsed: %d"),
memInfo.dwTotalPhys, memInfo.dwAvailPhys, memInfo.dwTotalPhys —
memInfo.dwAvailPhys);
MessageBox(hwnd, szBuf, __TEXT("Program Memory"), MB_OK);
// Storage memory.
GetStoreInformation(&si);
// dwStoreSize isn't exact due to compression.
wsprintf(szBuf, __TEXT("Free: %d"), si.dwFreeSize);
MessageBox(hwnd, szBuf, __TEXT("Storage Memory"), MB_OK);
Remarks
Note
GetStoreInformation is deprecated. Use GetDiskFreeSpaceEx instead.
See Also
Concepts
Handling Application Hibernation
Handling Low Memory States
How to: Determine Battery Status
Preventing Automatic Power Down
How to: Program an Application for Windows Mobile Standard to Turn the Backlight On or Off
How to: Suspend the Device
Managing Variables, Stacks, and Heaps on Windows Mobile Devices
Getting Memory Status and Processor Information
System Out of Memory Dialog Box