DOCUMENT:Q74576 19-NOV-1999 [msdos] TITLE :Communication Between EMM386.EXE and Windows PRODUCT :Microsoft Disk Operating System PROD/VER:MS-DOS:5.0 OPER/SYS: KEYWORDS: ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft MS-DOS operating system version 5.0 ------------------------------------------------------------------------------- SUMMARY ======= Both EMM386.EXE and Microsoft Windows version 3.0 in 386 enhanced mode use the upper memory area (UMA) to emulate expanded memory on 80386 or faster processors. To ensure that no conflicts occur, EMM386.EXE passes mapping information for the UMA to Windows when Windows starts (when Windows starts, it queries EMM386.EXE for this mapping information). Windows then sets up its page tables to duplicate the EMM386.EXE mapping for this region and disables EMM386.EXE, which ensures that when Windows attempts to load device drivers and TSRs high, it will not conflict with what EMM386.EXE is using. MORE INFORMATION ================ The communication between EMM386.EXE and Windows 3.0 has several important implications: - Using the NOEMS parameter with EMM386.EXE is functionally equivalent to adding EMMEXCLUDE=A000-EFFF to the [386ENH] section of the SYSTEM.INI file. No expanded memory will be available to MS-DOS applications running inside Windows. Note: The MEM command run under Windows 3.0 will return available expanded memory. This is LIM 4.0 memory and is not useful to MS-DOS applications running from Windows. - Any hardware that requires an EMMEXCLUDE statement to run Windows (such as a network card, or the Stacker acceleration card) will also require that EMM386.EXE not use those addresses. Use the X= switch to exclude EMM386.EXE from using a specific address range. Multiple X= switches are supported by EMM386.EXE. - If an EMMPAGEFRAME= line is added to the SYSTEM.INI, it should specify the same starting address that EMM386.EXE is using to create its page frame. The page frame for EMM386.EXE can be set using either the Mx or the FRAME= switch. For more information on the SYSTEM.INI file, see the SYSINI.TXT, SYSINI2.TXT, or SYSINI3.TXT file located by default in the Windows subdirectory. For more information about EMM386.EXE, see the version 5.0 "Microsoft MS-DOS User's Guide." Additional query words: 5.00 noupd ====================================================================== Keywords : Technology : kbMSDOSSearch kbMSDOS500 Version : MS-DOS:5.0 ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1999.