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



The information in this article applies to:

  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Professional SP1

This article was previously published under Q289231

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 the Microsoft 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.

Modification Type:MajorLast Reviewed:11/19/2003
Keywords:kbbug kbenv kbfix kbProgramming KB289231