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
28 /* STRUCTURES *****************************************************************/
30 typedef struct _GET_NEXT_VDM_COMMAND_DATA
45 STARTUPINFOA StartupInfo
;
55 USHORT wCurDirectoryLen
;
58 BOOLEAN fComingFromBat
;
59 } GET_NEXT_VDM_COMMAND_DATA
, *PGET_NEXT_VDM_COMMAND_DATA
;
61 /* FUNCTION PROTOTYPES ********************************************************/
65 BaseDestroyVDMEnvironment(
66 IN PANSI_STRING AnsiEnv
,
67 IN PUNICODE_STRING UnicodeEnv
73 IN LPCWSTR CommandLineReserved
,
76 IN PUNICODE_STRING CmdLineString
,
82 BaseCreateVDMEnvironment(
83 IN PWCHAR lpEnvironment
,
84 IN PANSI_STRING AnsiEnv
,
85 IN PUNICODE_STRING UnicodeEnv
92 IN OUT PHANDLE WaitHandle
,
100 IN HANDLE ProcessHandle
,
108 IN PCWCH ApplicationName
,
109 IN PCWCH CommandLine
,
110 IN PCWCH CurrentDirectory
,
111 IN PANSI_STRING AnsiEnvironment
,
112 IN PBASE_API_MESSAGE ApiMessage
,
114 IN DWORD CreationFlags
,
115 IN LPSTARTUPINFOW StartupInfo
,
116 IN HANDLE hUserToken OPTIONAL