2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS System Libraries
4 * FILE: dll/win32/kernel32/include/vdm.h
5 * PURPOSE: Virtual DOS Machines (VDM) Support Definitions
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
11 /* CONSTANTS ******************************************************************/
13 typedef enum _VDM_ENTRY_CODE
16 VdmEntryUpdateProcess
,
17 VdmEntryUpdateControlCHandler
23 #define VDM_UNDO_PARTIAL 0x01
24 #define VDM_UNDO_FULL 0x02
25 #define VDM_UNDO_REUSE 0x04
26 #define VDM_UNDO_COMPLETED 0x08
29 // Binary Types to share with VDM
31 #define BINARY_TYPE_EXE 0x01
32 #define BINARY_TYPE_COM 0x02
33 #define BINARY_TYPE_PIF 0x03
34 #define BINARY_TYPE_DOS 0x10
35 #define BINARY_TYPE_SEPARATE_WOW 0x20
36 #define BINARY_TYPE_WOW 0x40
37 #define BINARY_TYPE_WOW_EX 0x80
42 #define VDM_NOT_LOADED 0x01
43 #define VDM_NOT_READY 0x02
44 #define VDM_READY 0x04
47 /* FUNCTION PROTOTYPES ********************************************************/
51 BaseDestroyVDMEnvironment(
52 IN PANSI_STRING AnsiEnv
,
53 IN PUNICODE_STRING UnicodeEnv
59 IN LPCWSTR CommandLineReserved
,
62 IN PUNICODE_STRING CmdLineString
,
68 BaseCreateVDMEnvironment(
69 IN PWCHAR lpEnvironment
,
70 IN PANSI_STRING AnsiEnv
,
71 IN PUNICODE_STRING UnicodeEnv
78 IN OUT PHANDLE WaitHandle
,
86 IN HANDLE ProcessHandle
,
94 IN PCWCH ApplicationName
,
96 IN PCWCH CurrentDirectory
,
97 IN PANSI_STRING AnsiEnvironment
,
98 IN PCSR_API_MESSAGE ApiMessage
,
100 IN DWORD CreationFlags
,
101 IN LPSTARTUPINFOW StartupInfo
,
102 IN HANDLE hUserToken OPTIONAL