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

ID: Q115235

The information in this article applies to:

SUMMARY

Under Windows NT, 16-bit Windows-based applications run as separate threads under a special environment called WOW (Windows on Win32). Under Windows NT version 3.1 and earlier, WOW supports running all 16-bit Windows-based applications in one virtual machine (VM). These applications share an address space, just as they do on Windows. But under Windows NT version 3.5 through 4.0, WOW supports running a Windows-based application in its own VM, which gives the application its own address space.

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.

MORE INFORMATION

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:

Additional query words: start ntvdm win31 sharing
Keywords          : kbprg kbKernBase kbThread SubSys kbGrpKernBase 
Version           : 3.5 3.51 4.0
Platform          : NT WINDOWS
Issue type        : kbinfo

Last Reviewed: April 27, 1997