ID: Q171275
The information in this article applies to:
The function declaration for VDMStartTaskInWOW() API in VDMDBG.H is missing the WINAPI keyword as follows:
BOOL
WINAPI // this keyword is missing in vdmdbg.h
VDMStartTaskInWOW(
DWORD dwProcessId,
LPSTR lpCommandLine,
WORD wShow
);
Without the WINAPI or PASCAL keyword, the Visual C++ Linker looks for the symbol _VDMStartTaskInWOW, which is not available in the VDMDBG.LIB. With the WINAPI keyword, the Linker looks for the correct symbol, _VDMStartTaskInWOW@12 and finds it.
Fix the prototype in your local copy of VDMDBG.H file as follows:
BOOL WINAPI VDMStartTaskInWOW(
DWORD dwProcessId,
LPSTR lpCommandLine,
WORD wShow
);
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.
VDMDBG.DLL or Virtual DOS Machine (VDM) Debugging Library is a DLL that provides a mechanism used to support debugging 16-bit applications under Windows NT. VDMDBG.DLL is new for Windows NT 4.0 and works only under Windows NT platform.
The functions and data structures used by this DLL are prototyped in the header file VDMDBG.H. The services provided by this DLL are documented separately in a help file called, VDMDBG.HLP, which is included with the Win32 SDK in the \MSTOOLS\DOC\MISC\ directory. These services are not included in the standard documentation for the Win32 Application Programming Interface (API).
Additional query words: ntvdm vdmdbg.hlp
Keywords : kbprg kbnokeyword kbKernBase kbGrpKernBase
Platform : NT WINDOWS
Last Reviewed: November 22, 1998