Determine Available Memory

Send Feedback

You can use the Windows 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

Handling Application Hibernation | Handling Low Memory States | How to: Determine Battery Status | Preventing Automatic Power Down | How to: Program Applications to Turn the Smartphone Backlight Off and On | How to: Suspend the Device | Managing Variables, Stacks, and Heaps on Mobile Devices | Memory and Power Management | Getting Memory Status and Processor Information | System Out of Memory Dialog Box

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.