compile insert msWin_Process_Equates
/*
   ** Copyright (C) 1992-2020 Revelation Software Inc. All Rights Reserved **
   
   Author    Captain C
   Date      April 2014
   Purpose   Equates for use with the Windows API Process function
   
   Amended  Date       Reason
   =======  ====       ======
   Mr C     06 Apr 20  Updated to reference DLLSTRUCT entities
*/
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#ifndef _MSWIN_PROCESS_EQUATES_
#define _MSWIN_PROCESS_EQUATES_
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

   declare function msWin_CreateProcess
   declare function msWin_CreateProcessByPtr
   declare function msWin_OpenProcess
   
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

   $insert msWin_Access_Type_Equates
   
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

   equ PROCESS_TERMINATE$                 to 0x0001
   equ PROCESS_CREATE_THREAD$             to 0x0002
   equ PROCESS_VM_OPERATION$              to 0x0008
   equ PROCESS_VM_READ$                   to 0x0010
   equ PROCESS_VM_WRITE$                  to 0x0020
   equ PROCESS_DUP_HANDLE$                to 0x0040
   equ PROCESS_CREATE_PROCESS$            to 0x0080
   equ PROCESS_SET_QUOTA$                 to 0x0100
   equ PROCESS_SET_INFORMATION$           to 0x0200
   equ PROCESS_QUERY_INFORMATION$         to 0x0400
   equ PROCESS_ALL_ACCESS$                to bitOr( bitOr( STANDARD_RIGHTS_REQUIRED$, SYNCHRONIZE$ ), 0xFFF )
   
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

   * // Process Creation Flags
   
   equ DEBUG_PROCESS$                     to 0x00000001
   equ DEBUG_ONLY_THIS_PROCESS$           to 0x00000002
   equ CREATE_SUSPENDED$                  to 0x00000004
   equ DETACHED_PROCESS$                  to 0x00000008

   equ CREATE_NEW_CONSOLE$                to 0x00000010
   equ NORMAL_PRIORITY_CLASS$             to 0x00000020
   equ IDLE_PRIORITY_CLASS$               to 0x00000040
   equ HIGH_PRIORITY_CLASS$               to 0x00000080

   equ REALTIME_PRIORITY_CLASS$           to 0x00000100
   equ CREATE_NEW_PROCESS_GROUP$          to 0x00000200
   equ CREATE_UNICODE_ENVIRONMENT$        to 0x00000400
   equ CREATE_SEPARATE_WOW_VDM$           to 0x00000800

   equ CREATE_SHARED_WOW_VDM$             to 0x00001000
   equ CREATE_FORCEDOS$                   to 0x00002000
   equ BELOW_NORMAL_PRIORITY_CLASS$       to 0x00004000
   equ ABOVE_NORMAL_PRIORITY_CLASS$       to 0x00008000

   equ INHERIT_PARENT_AFFINITY$           to 0x00010000
   equ INHERIT_CALLER_PRIORITY$           to 0x00020000    ; * // Deprecated
   equ CREATE_PROTECTED_PROCESS$          to 0x00040000
   equ EXTENDED_STARTUPINFO_PRESENT$      to 0x00080000

   equ PROCESS_MODE_BACKGROUND_BEGIN$     to 0x00100000
   equ PROCESS_MODE_BACKGROUND_END$       to 0x00200000

   equ CREATE_BREAKAWAY_FROM_JOB$         to 0x01000000
   equ CREATE_PRESERVE_CODE_AUTHZ_LEVEL$  to 0x02000000
   equ CREATE_DEFAULT_ERROR_MODE$         to 0x04000000
   equ CREATE_NO_WINDOW$                  to 0x08000000

   equ PROFILE_USER$                      to 0x10000000
   equ PROFILE_KERNEL$                    to 0x20000000
   equ PROFILE_SERVER$                    to 0x40000000
   equ CREATE_IGNORE_SYSTEM_DEFAULT$      to 0x80000000   

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

   $uses @APPID*DLLSTRUCT**MSWIN_PROCESS_INFORMATION
   $uses @APPID*DLLSTRUCT**MSWIN_STARTUPINFO
   
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

   * // PROCESS_INFORMATION structure equates
   * // 
   * // typedef struct _PROCESS_INFORMATION {  
   * //    HANDLE hProcess;  
   * //    HANDLE hThread;  
   * //    DWORD  dwProcessId;  
   * //    DWORD  dwThreadId;
   * // } PROCESS_INFORMATION
   
   equ PROCESS_INFORMATION$ to "MSWIN_PROCESS_INFORMATION"
   
   equ PI_POS_HPROCESS$          to 1
   equ PI_POS_HTHREAD$           to 2
   equ PI_POS_DWPROCESSID$       to 3
   equ PI_POS_DWTHREADID$        to 4
   
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

   * // STARTUPINFO structure equates
   * //
   * // typedef struct _STARTUPINFO {  
   * //    DWORD  cbSize;  
   * //    LPTSTR lpReserved;  
   * //    LPTSTR lpDesktop;  
   * //    LPTSTR lpTitle;  
   * //    DWORD  dwX;  
   * //    DWORD  dwY;  
   * //    DWORD  dwXSize;  
   * //    DWORD  dwYSize;  
   * //    DWORD  dwXCountChars;  
   * //    DWORD  dwYCountChars;  
   * //    DWORD  dwFillAttribute;  
   * //    DWORD  dwFlags;  
   * //    WORD   wShowWindow;  
   * //    WORD   cbReserved2;  
   * //    LPBYTE lpReserved2;  
   * //    HANDLE hStdInput;  
   * //    HANDLE hStdOutput;  
   * //    HANDLE hStdError;
   * // } STARTUPINFO
   
   equ STARTUPINFO$ to "MSWIN_STARTUPINFO"
   
   equ SI_POS_CBSIZE$                to 1
   equ SI_POS_LPRESERVED$            to 2
   equ SI_POS_LPDESKTOP$             to 3
   equ SI_POS_LPTITLE$               to 4
   equ SI_POS_DWX$                   to 5
   equ SI_POS_DWY$                   to 6
   equ SI_POS_DWXSIZE$               to 7
   equ SI_POS_DWYSIZE$               to 8
   equ SI_POS_DWXCOUNTCHARS$         to 9
   equ SI_POS_DWYCOUNTCHARS$         to 10
   equ SI_POS_DWFILLATTRIBUTE$       to 11
   equ SI_POS_DWFLAGS$               to 12
   equ SI_POS_WSHOWWINDOW$           to 13
   equ SI_POS_CBRESERVED2$           to 14
   equ SI_POS_LPRESERVED2$           to 15
   equ SI_POS_HSTDINPUT$             to 16
   equ SI_POS_HSTDOUTPUT$            to 17
   equ SI_POS_HSTDERROR$             to 18
   
   
   * // STARTUPINFO dwFlags
   equ STARTF_USESHOWWINDOW$         to 0x00000001
   equ STARTF_USESIZE$               to 0x00000002
   equ STARTF_USEPOSITION$           to 0x00000004
   equ STARTF_USECOUNTCHARS$         to 0x00000008
   equ STARTF_USEFILLATTRIBUTE$      to 0x00000010
   equ STARTF_RUNFULLSCREEN$         to 0x00000020 ; * // ignored for non-x86 platforms
   equ STARTF_FORCEONFEEDBACK$       to 0x00000040
   equ STARTF_FORCEOFFFEEDBACK$      to 0x00000080
   equ STARTF_USESTDHANDLES$         to 0x00000100
   equ STARTF_USEHOTKEY$             to 0x00000200
   equ STARTF_TITLEISLINKNAME$       to 0x00000800
   equ STARTF_TITLEISAPPID$          to 0x00001000
   equ STARTF_PREVENTPINNING$        to 0x00002000

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#endif
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
            
