Using GlobalFlags() to Test for GMEM_DISCARDABLE (45704)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.0
  • Microsoft Windows Software Development Kit (SDK) 3.1

This article was previously published under Q45704

SUMMARY

When testing for GMEM_DISCARDABLE, do not use the following:
   if(GlobalFlags(hMem) == GMEM_DISCARDABLE)
				
Instead, use the following:
   if(GlobalFlags(hMem) & GMEM_DISCARDABLE)
				
This is necessary because GlobalFlags() returns a one, i.e., 0x0100, rather than 0x0F00 if the object is discardable. It is also possible that the return value could be 0x0800 or 0x0400 or 0x0200. These cases are also taken care of with the bitwise AND.

Modification Type:MajorLast Reviewed:10/29/2003
Keywords:kb16bitonly KB45704