Microsoft KB Archive/171275

{| = BUG: Incorrect prototype for VDMStartTaskInWOWin VDMDBG.H file =
 * width="100%"|

ID: Q171275

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK)

SYMPTOMS
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   );

CAUSE
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.

RESOLUTION
Fix the prototype in your local copy of VDMDBG.H file as follows:

BOOL WINAPI VDMStartTaskInWOW(      DWORD           dwProcessId,       LPSTR           lpCommandLine,       WORD            wShow   );

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

MORE INFORMATION
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
 * }