ReactOS 0.4.15-dev-7958-gcd0bb1a
vdm.h
Go to the documentation of this file.
1/*
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)
8 */
9
10#ifndef _VDM_H
11#define _VDM_H
12
13#pragma once
14
15/* CONSTANTS & TYPES **********************************************************/
16
17typedef enum _VDM_ENTRY_CODE
18{
23
24//
25// Undo States
26//
27#define VDM_UNDO_PARTIAL 0x01
28#define VDM_UNDO_FULL 0x02
29#define VDM_UNDO_REUSE 0x04
30#define VDM_UNDO_COMPLETED 0x08
31
32//
33// Binary Types to share with VDM
34//
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
42
43//
44// VDM States
45//
46#define VDM_NOT_LOADED 0x01
47#define VDM_NOT_READY 0x02
48#define VDM_READY 0x04
49
50//
51// VDM Flags
52//
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
67
68typedef struct
69{
98
99
100/* FUNCTION PROTOTYPES ********************************************************/
101
102BOOL
103WINAPI
105 IN OUT PVDM_COMMAND_INFO CommandData OPTIONAL
106);
107
108VOID
109WINAPI
111 IN BOOL IsWow,
112 IN ULONG iWowTask
113);
114
115#endif // _VDM_H
116
117/* EOF */
unsigned char BOOLEAN
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned short USHORT
Definition: pedump.c:61
struct VDM_COMMAND_INFO * PVDM_COMMAND_INFO
VOID WINAPI ExitVDM(IN BOOL IsWow, IN ULONG iWowTask)
_VDM_ENTRY_CODE
Definition: vdm.h:18
@ VdmEntryUndo
Definition: vdm.h:19
@ VdmEntryUpdateControlCHandler
Definition: vdm.h:21
@ VdmEntryUpdateProcess
Definition: vdm.h:20
enum _VDM_ENTRY_CODE VDM_ENTRY_CODE
BOOL WINAPI GetNextVDMCommand(IN OUT PVDM_COMMAND_INFO CommandData OPTIONAL)
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
LPSTR CmdLine
Definition: vdm.h:77
HANDLE StdOut
Definition: vdm.h:75
STARTUPINFOA StartupInfo
Definition: vdm.h:83
BOOLEAN ComingFromBat
Definition: vdm.h:96
LPSTR CurDirectory
Definition: vdm.h:80
LPSTR Title
Definition: vdm.h:86
USHORT AppLen
Definition: vdm.h:91
ULONG ReservedLen
Definition: vdm.h:89
HANDLE StdIn
Definition: vdm.h:74
USHORT CmdLen
Definition: vdm.h:90
LPSTR Desktop
Definition: vdm.h:84
USHORT PifLen
Definition: vdm.h:92
LPSTR Env
Definition: vdm.h:81
ULONG TitleLen
Definition: vdm.h:87
ULONG CodePage
Definition: vdm.h:73
USHORT CurDirectoryLen
Definition: vdm.h:93
LPSTR PifFile
Definition: vdm.h:79
USHORT CurrentDrive
Definition: vdm.h:95
LPSTR AppName
Definition: vdm.h:78
ULONG TaskId
Definition: vdm.h:70
LPVOID Reserved
Definition: vdm.h:88
ULONG DesktopLen
Definition: vdm.h:85
HANDLE StdErr
Definition: vdm.h:76
USHORT VDMState
Definition: vdm.h:94
ULONG EnvLen
Definition: vdm.h:82
ULONG CreationFlags
Definition: vdm.h:71
ULONG ExitCode
Definition: vdm.h:72
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
#define WINAPI
Definition: msvc.h:6
char * LPSTR
Definition: xmlstorage.h:182