Export (0) Print
Expand All
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.


Windows Mobile 6.5
A version of this page is also available for

This function tries to free up memory for an application. If necessary, the shell closes down other applications by sending WM_CLOSE messages.

BOOL SHCloseApps(
  DWORD dwMemSought


[in] Specifies, in bytes, the amount of memory to be freed.

This function returns TRUE if it is successful and FALSE if it fails.

If a large memory allocation fails in your application, call SHCloseApps and attempt to allocate memory again.

This function call is handled by OEM code added to the shell's public source code. This is where an OEM either uses the default implementation or modifies it for a specific device.

The Windows Mobile Standard shell sends WM_CLOSE messages if there is less than 128 KB of free memory. The shell does not send WM_CLOSE messages if you ask for more memory than is available. For example, Windows Mobile Standard does not allocate 200 KB of memory if it only has 190 KB free. Instead, the shell displays an Out Of Memory dialog box to the user. There are two ways to deal with the problem. First, allocate memory in small amounts, such as 16 KB so that your application does not run the risk of asking for more memory than is available. Alternatively, call SHCloseApps, which sends WM_CLOSE messages until there is enough memory for the allocation. However, SHCloseApps does not allocate memory to your application; it only frees memory. If a large memory allocation fails in your application, call SHCloseApps. Then, attempt to allocate memory again.

Windows Embedded CEWindows CE 3.0 and later
Windows MobilePocket PC 2000 and later, Smartphone 2002 and later

Community Additions

© 2015 Microsoft