Why does the NTDVM quit when the 16-bit app stops running?

When I run a 16-bit application in Windows 2000 Server SP3, the NTDVM process is only active while the 16-bit app is running. When the latter exits, NTDVM stops running instead of remaining in memory. This causes me problems because my 16-bit apps load up 16-bit DLLs, which are expected to remain in memory. Microsoft says that NTDVM should remain in memory after the first 16-bit quits. Any ideas?

    Requires Free Membership to View

On Windows 2000, NTVDMs terminate as soon as the hosted DOS process terminates. However, the WOWEXEC process, which operates within a NTVDM and hosts Win16 processes, should remain active by default even after all Win16 applications have terminated. This is exactly opposite of Windows NT4. Check to see if you have configured the registry key of DefaultSeparateVDM or are using a shortcut configuration to force Win16 apps to be launched in a separate memory space. This sometimes causes the WOWEXEC/NTVDM processes to terminate on program end.

For possible information, check the subsections of the Windows 2000 Resource Kit.

This was first published in June 2003

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.