LocalFlags

The LocalFlags function returns information about the specified local memory object.

This function is provided only for compatibility with 16-bit versions of Windows.

UINT LocalFlags(
  HLOCAL hMem   // handle to local memory object
);
 

Parameters

hMem
Handle to the local memory object. This handle is returned by either the LocalAlloc or LocalReAlloc function.

Return Values

If the function succeeds, the return value is a 32-bit value that specifies the allocation flags and the lock count for the memory object.

If the function fails, the return value is the LMEM_INVALID_HANDLE flag, indicating that the local handle is not valid. To get extended error information, call GetLastError.

Remarks

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 LMEM_LOCKCOUNT mask with the bitwise AND (&) operator. The lock count of memory objects allocated with the LMEM_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:

Value Description
LMEM_DISCARDABLE Ignored. This flag is provided only for compatibility with 16-bit Windows.

In Win32, you must explicitly call the LocalDiscard function to discard a block.

LMEM_DISCARDED The object's memory block has been discarded.

QuickInfo

  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.

See Also

Memory Management Overview, Memory Management Functions, GlobalFlags, LocalAlloc, LocalDiscard, LocalLock, LocalReAlloc, LocalUnlock