INFO: Running a Windows-Based Application in its Own VDM

ID: Q115235


The information in this article applies to:
  • Microsoft Win32 Software Development Kit (SDK), used with:
    • Microsoft Windows 2000
    • Microsoft Windows NT versions 3.5, 3.51, 4.0


SUMMARY

Under Windows NT, 16-bit Windows applications run as separate threads a special environment called WOW (Windows on Win32). Windows NT version 3.1 runs all 16-bit Windows applications in one virtual machine (VM) so these applications share an address space, just as they do on Windows. Windows NT versions and later support multiple WOWs so each Windows application can run its own VM, which gives the application its own address space.


MORE INFORMATION

To programmatically start a Windows-based application in its own VM, start the application with CreateProcess() and then specify the flag CREATE_SEPARATE_WOW_VDM.

To specify a Win16 application started from the command prompt to run in its own address space, use the following syntax:


   start /SEPARATE <filename> 
To specify a shortcut in its own address space for a 16-bit application started from the Program Manager, select the "Run in Separate Memory Space" check box in the Shortcut tab of the Properties for the application. For versions of Windows NT previous to 4.0, the same option is available in the Properties for applications in Program Manager.

NOTE: This option is not the default, nor is there any way to make it the default.

Allowing a 16-bit Windows-based application to run in a separate address space provides for more robust operation, because the application is isolated from other Windows-based applications. However, the downside is twofold:
  • WOW VMs require approximately 2500K of private memory on computers.


  • There is no shared memory between WOW VMs. Therefore, 16-bit Windows- based applications that rely on shared memory cannot be run in separate VMs. As an alternative, use DDE or OLE, because they can be used by an application in one VM to communicate with an application in another VM.


Additional query words: start ntvdm sharing unique address space wow

Keywords : kbprg kbKernBase kbWinOS2000 kbThread kbDSupport SubSys kbGrpKernBase
Version : WINDOWS:
Platform : WINDOWS
Issue type : kbinfo


Last Reviewed: January 5, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.