The GlobalFlags function returns information about the specified global memory object.
This function is provided only for compatibility with 16-bit versions of Windows.
UINT GlobalFlags(
HGLOBAL hMem // handle to the global memory object
);
If the function succeeds, the return value specifies the allocation flags and the lock count for the memory object.
If the function fails, the return value is the GMEM_INVALID_HANDLE flag, indicating that the global handle is not valid. To get extended error information, call GetLastError.
The low-order byte of the low-order word of the return value contains the lock count of the object. To retrieve the lock count from the return value, use the GMEM_LOCKCOUNT mask with the bitwise AND (&) operator. The lock count of memory objects allocated with the GMEM_FIXED flag is always zero.
The high-order byte of the low-order word of the return value indicates the allocation flags of the memory object. It can be zero or any combination of the following flags:
Flag | Meaning |
---|---|
GMEM_DDESHARE | This flag is provided primarily for compatibility with 16-bit Windows. However, this flag may be used by some applications to enhance the performance of DDE operations and therefore can be specified if the memory is to be used for DDE. . |
GMEM_DISCARDABLE | Ignored. This flag is provided only for compatibility with 16-bit Windows. In Win32, you must explicitly call the GlobalDiscard function to discard a block. |
GMEM_DISCARDED | The object's memory block has been discarded. |
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winbase.h.
Import Library: Use kernel32.lib.
Memory Management Overview, Memory Management Functions, GlobalAlloc, GlobalDiscard, GlobalReAlloc