Using Memory Below 1 MegabyteLast reviewed: July 22, 1997Article ID: Q74696 |
3.00 3.10
WINDOWS
kbprg
The information in this article applies to:
SUMMARYMemory allocated with a base address below 1 megabyte (low memory) is useful for communicating between applications developed for the Microsoft Windows graphical environment and MS-DOS terminate-and-stay- resident (TSR) programs and device drivers. The only way a Windows-based application can directly allocate memory guaranteed to be below 1 MB is to use the GlobalDosAlloc function. However, this memory is a limited resource and should be used with care.
MORE INFORMATIONThe following clients use memory below 1 MB:
Virtual devices can allocate (or map) memory below 1 MB to communicate with various hardware devices and MS-DOS device drivers. VxDs such as the virtual NetBIOS driver and various virtual display drivers map memory below the 1 MB line, reducing the amount of low memory available to Windows. The last three clients of low memory listed can progressively consume more of the resource as the system runs, therefore an application can increase the chance that its low memory allocations will succeed by performing them as early as possible during system initialization. Two methods for doing this are:
In Windows enhanced mode, the lower memory that Windows-based applications allocate is local to the system virtual machine (VM). Other virtual machines (or MS-DOS compatibility boxes) cannot see the memory that the GlobalDosAlloc function allocates. Allocating "global" low memory (seen by all virtual machines) requires a virtual device, or the memory must be allocated before Windows is loaded.
|
Additional reference words: 3.00 3.10 meg
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |