2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Base API Server DLL
4 * FILE: include/reactos/subsys/win/vdm.h
5 * PURPOSE: Public definitions for the Virtual Dos Machine
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7 * Alex Ionescu (alex.ionescu@reactos.org)
15 /* CONSTANTS & TYPES **********************************************************/
17 typedef enum _VDM_ENTRY_CODE
20 VdmEntryUpdateProcess
,
21 VdmEntryUpdateControlCHandler
27 #define VDM_UNDO_PARTIAL 0x01
28 #define VDM_UNDO_FULL 0x02
29 #define VDM_UNDO_REUSE 0x04
30 #define VDM_UNDO_COMPLETED 0x08
33 // Binary Types to share with VDM
35 #define BINARY_TYPE_EXE 0x01
36 #define BINARY_TYPE_COM 0x02
37 #define BINARY_TYPE_PIF 0x03
38 #define BINARY_TYPE_DOS 0x10
39 #define BINARY_TYPE_SEPARATE_WOW 0x20
40 #define BINARY_TYPE_WOW 0x40
41 #define BINARY_TYPE_WOW_EX 0x80
46 #define VDM_NOT_LOADED 0x01
47 #define VDM_NOT_READY 0x02
48 #define VDM_READY 0x04
53 #define VDM_FLAG_FIRST_TASK 0x01
54 #define VDM_FLAG_WOW 0x02
55 #define VDM_FLAG_DOS 0x04
56 #define VDM_FLAG_RETRY 0x08
57 #define VDM_INC_REENTER_COUNT 0x10
58 #define VDM_DEC_REENTER_COUNT 0x20
59 #define VDM_FLAG_NESTED_TASK 0x40
60 #define VDM_FLAG_DONT_WAIT 0x80
61 #define VDM_GET_FIRST_COMMAND 0x100
62 #define VDM_GET_ENVIRONMENT 0x400
63 #define VDM_FLAG_SEPARATE_WOW 0x800
64 #define VDM_LIST_WOW_PROCESSES 0x1000
65 #define VDM_LIST_WOW_TASKS 0x4000
66 #define VDM_ADD_WOW_TASK 0x8000
83 STARTUPINFOA StartupInfo
;
93 USHORT CurDirectoryLen
;
96 BOOLEAN ComingFromBat
;
97 } VDM_COMMAND_INFO
, *PVDM_COMMAND_INFO
;
100 /* FUNCTION PROTOTYPES ********************************************************/
105 IN OUT PVDM_COMMAND_INFO CommandData OPTIONAL