No Expanded Memory in MS-DOS-Based Applications w/ Windows 3.0Last reviewed: July 29, 1996Article ID: Q81422 |
The information in this article applies to:
SUMMARYIf MS-DOS-based applications running under Windows version 3.0 386 enhanced mode do not see any expanded memory, the EMS settings in the PIF file may need to be increased. Increasing the EMS-required above 700K in the PIF Advanced Options box may allow the applications to use expanded memory. The following is an example of increasing the EMS settings:
Settings Required Desired ---------------------------------------------- Default settings: 0K 1024K Increased settings: 1024K 2048K MORE INFORMATION
EMS SettingsThe EMS settings must increased because of the way expanded memory is counted in Microsoft Windows version 3.0. Windows 3.0 supports LIM version 4.0 expanded memory. LIM 4.0 expanded memory counts conventional memory as expanded in a virtual machine. MS-DOS-based applications use only LIM version 3.2 expanded memory. LIM 3.2 expanded memory does not count the conventional memory that it operates in. As a result, the MS-DOS-based application displays approximately 400K less expanded memory than is allocated through the Advanced PIF settings. The difference between how LIM 3.2 and LIM 4.0 memory is counted results in the higher EMS settings under Windows 3.0 than would normally be expected.
Hardware ConsiderationsNote that modifying the Advanced PIF settings cannot override hardware or software conflicts. It may be necessary to use an EMMEXCLUDE statement to prevent the EMS page frame from conflicting with network cards or other hardware in the system. A 64K contiguous block of upper memory is required for windows to create an expanded memory page frame.
Additional ConsiderationsThere is a problem with the Expanded Memory Manager in Windows 3.0. If the minimum EMS required is set to above 0, Windows will not release this memory back to the minimum memory size pool. To work around this, set the minimum EMS required to 0. This forces Windows to use memory from the Global EMS Memory Pool (memory it releases when it doesn't need it). Microsoft has confirmed this to be a problem in Microsoft Windows version 3.0. This problem is corrected in version 3.1. More information on Windows 3.0 and 3.1 and expanded memory can be found in the Microsoft Application Note "Memory Management with Windows" (WW0335). For more information about obtaining this Application Note, query on the following words in the Microsoft Knowledge Base:
ww0335 and appnote |
KBCategory: kbenv kbfile kbappnote
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |