Memory Handle Allocation (91194)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • the operating system: Microsoft Windows NT 3.1
    • the operating system: Microsoft Windows NT 3.5
    • the operating system: Microsoft Windows NT 3.51
    • Microsoft Windows 95

This article was previously published under Q91194
This article discusses the limitations that exist when allocating memory handles.

The minimum block you can reserve with each call to VirtualAlloc() is 64K. It is a good idea to confirm this number by checking the allocation granularity returned by GetSystemInfo().

With HeapAlloc(), there is no limit to the number of handles that can be allocated. GlobalAlloc() and LocalAlloc() (combined) are limited to 65536 total handles for GMEM_MOVEABLE and LMEM_MOVEABLE memory per process. Note that this limitation does not apply to GMEM_FIXED or LMEM_FIXED memory.

Modification Type:MinorLast Reviewed:12/3/2003
Keywords:KB91194 kbAudDeveloper