PRWIN9105005: Microsoft Windows Page Locks GMEM_FIXED Memory

ID Number: Q72584

3.00

WINDOWS

buglist3.00 fixlist3.10

SYMPTOMS

When an application running under Microsoft Windows version 3.0

allocates a block of memory with the GMEM_FIXED attribute

specified, Windows returns the handle to a block of page-locked

memory. Depending on the amount of available memory, the system may

hang or slow down because of disk thrashing.

CAUSE

The Windows kernel page locks all fixed memory allocated in Windows

version 3.0. When a memory block is page locked, Windows cannot

page to disk the physical memory associated with the segment.

This behavior is incorrect for applications; however, it is correct

for dynamic-link libraries (DLLs). If a DLL allocates GMEM_FIXED

memory, Windows provides page-locked memory because Windows assumes

that the DLL might access the memory at interrupt time.

STATUS

Microsoft has confirmed this to be a problem in Windows version

3.0. This problem was corrected in Windows version 3.1.

Additional reference words: 3.00