[GlobalMemoryStatus can return incorrect information. Use the
GlobalMemoryStatusEx function instead. ]
Retrieves information about the system's current usage of both physical and virtual memory.
Syntax
void WINAPI GlobalMemoryStatus(
__out LPMEMORYSTATUS lpBuffer
);
Parameters
- lpBuffer [out]
-
A pointer to a
MEMORYSTATUS structure. The
GlobalMemoryStatus function stores information about current memory availability into this structure.
Return Value
This function does not return a value.
Remarks
On computers with more than 4 GB of memory, the
GlobalMemoryStatus function can return incorrect information, reporting a value of –1 to indicate an overflow. For this reason, applications should use the
GlobalMemoryStatusEx function instead.
On Intel x86 computers with more than 2 GB and less than 4 GB of memory, the
GlobalMemoryStatus function will always return 2 GB in the dwTotalPhys member of the
MEMORYSTATUS structure. Similarly, if the total available memory is between 2 and 4 GB, the dwAvailPhys member of the
MEMORYSTATUS structure will be rounded down to 2 GB. If the executable is linked using the /LARGEADDRESSAWARE linker option, then the
GlobalMemoryStatus function will return the correct amount of physical memory in both members.
The information returned by the
GlobalMemoryStatus function is volatile. There is no guarantee that two sequential calls to this function will return the same information.
Requirements
| Minimum supported client | Windows 2000 Professional |
| Minimum supported server | Windows 2000 Server |
| Header | Winbase.h (include Windows.h) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |
See Also
- GlobalMemoryStatusEx
- Memory Management Functions
- Memory Performance Information
- MEMORYSTATUS
- Virtual Address Space and Physical Storage
Send comments about this topic to Microsoft
Build date: 7/2/2009