User Defined Flags Are Not Reset When Using GlobalAlloc() to Allocate Memory

This article was previously published under Q289231
This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
If a program that is running in Windows 2000 uses the GlobalAlloc function to allocate memory from the global heap, the heap for that program may not reset the user-defined flags.
CAUSE
This behavior occurs if the block is allocated from lookaside memory. That block may have the flags from the previous allocation, and the Global*/Local* APIs do not function properly.
RESOLUTION
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
STATUS
Microsoft has confirmed that this is a problem in Microsoft Windows 2000.

This problem was first corrected in Windows 2000 Service Pack 2.
MORE INFORMATION
A "lookaside list" is a pool of fixed-size kernel memory buffers that the Windows 2000 kernel and device drivers create as private memory caches to serve specific purposes.
Properties

Article ID: 289231 - Last Review: 10/23/2013 16:28:19 - Revision: 3.2

  • Microsoft Windows 2000 Service Pack 1
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Service Pack 1
  • kbnosurvey kbarchive kbbug kbfix kbenv kbprogramming KB289231
Feedback