| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478 | /* * Copyright 2016 Klemens D. Morgenstern * Copyright 2016, 2017 Andrey Semashev * * Distributed under the Boost Software License, Version 1.0. * See http://www.boost.org/LICENSE_1_0.txt */#ifndef BOOST_WINAPI_PROCESS_HPP_INCLUDED_#define BOOST_WINAPI_PROCESS_HPP_INCLUDED_#include <boost/winapi/config.hpp>#include <boost/winapi/basic_types.hpp>#include <boost/winapi/access_rights.hpp>#include <boost/winapi/get_current_process.hpp>#include <boost/winapi/get_current_process_id.hpp>#ifdef BOOST_HAS_PRAGMA_ONCE#pragma once#endif#if !defined( BOOST_USE_WINDOWS_H )extern "C" {#if BOOST_WINAPI_PARTITION_APP_SYSTEMstruct _PROCESS_INFORMATION;#if !defined( BOOST_NO_ANSI_APIS )struct _STARTUPINFOA;#endifstruct _STARTUPINFOW;#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6#if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEMstruct _PROC_THREAD_ATTRIBUTE_LIST;#endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM#if BOOST_WINAPI_PARTITION_DESKTOP#if !defined( BOOST_NO_ANSI_APIS )struct _STARTUPINFOEXA;#endifstruct _STARTUPINFOEXW;#endif // BOOST_WINAPI_PARTITION_DESKTOP#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6#if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEMBOOST_SYMBOL_IMPORT BOOST_NORETURN boost::winapi::VOID_ BOOST_WINAPI_WINAPI_CCExitProcess(boost::winapi::UINT_ uExitCode);BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC GetExitCodeProcess(    boost::winapi::HANDLE_ hProcess,    boost::winapi::LPDWORD_ lpExitCode);#if !defined( BOOST_NO_ANSI_APIS )BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC CreateProcessA(    boost::winapi::LPCSTR_ lpApplicationName,    boost::winapi::LPSTR_ lpCommandLine,    ::_SECURITY_ATTRIBUTES* lpProcessAttributes,    ::_SECURITY_ATTRIBUTES* lpThreadAttributes,    boost::winapi::INT_ bInheritHandles,    boost::winapi::DWORD_ dwCreationFlags,    boost::winapi::LPVOID_ lpEnvironment,    boost::winapi::LPCSTR_ lpCurrentDirectory,    ::_STARTUPINFOA* lpStartupInfo,    ::_PROCESS_INFORMATION* lpProcessInformation);#endifBOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC CreateProcessW(    boost::winapi::LPCWSTR_ lpApplicationName,    boost::winapi::LPWSTR_ lpCommandLine,    ::_SECURITY_ATTRIBUTES* lpProcessAttributes,    ::_SECURITY_ATTRIBUTES* lpThreadAttributes,    boost::winapi::INT_ bInheritHandles,    boost::winapi::DWORD_ dwCreationFlags,    boost::winapi::LPVOID_ lpEnvironment,    boost::winapi::LPCWSTR_ lpCurrentDirectory,    ::_STARTUPINFOW* lpStartupInfo,    ::_PROCESS_INFORMATION* lpProcessInformation);#endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM#if BOOST_WINAPI_PARTITION_APP_SYSTEMBOOST_SYMBOL_IMPORT boost::winapi::HANDLE_ BOOST_WINAPI_WINAPI_CC OpenProcess(    boost::winapi::DWORD_ dwDesiredAccess,    boost::winapi::BOOL_ bInheritHandle,    boost::winapi::DWORD_ dwProcessId);BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC TerminateProcess(    boost::winapi::HANDLE_ hProcess,    boost::winapi::UINT_ uExitCode);#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM} // extern "C"#endif // defined BOOST_WINDOWS_Hnamespace boost {namespace winapi {#if defined( BOOST_USE_WINDOWS_H )#if BOOST_WINAPI_PARTITION_APP_SYSTEMBOOST_CONSTEXPR_OR_CONST DWORD_ DEBUG_PROCESS_                    = DEBUG_PROCESS;BOOST_CONSTEXPR_OR_CONST DWORD_ DEBUG_ONLY_THIS_PROCESS_          = DEBUG_ONLY_THIS_PROCESS;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_SUSPENDED_                 = CREATE_SUSPENDED;BOOST_CONSTEXPR_OR_CONST DWORD_ DETACHED_PROCESS_                 = DETACHED_PROCESS;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_NEW_CONSOLE_               = CREATE_NEW_CONSOLE;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_NEW_PROCESS_GROUP_         = CREATE_NEW_PROCESS_GROUP;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_UNICODE_ENVIRONMENT_       = CREATE_UNICODE_ENVIRONMENT;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_SEPARATE_WOW_VDM_          = CREATE_SEPARATE_WOW_VDM;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_SHARED_WOW_VDM_            = CREATE_SHARED_WOW_VDM;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_FORCEDOS_                  = CREATE_FORCEDOS;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_BREAKAWAY_FROM_JOB_        = CREATE_BREAKAWAY_FROM_JOB;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_DEFAULT_ERROR_MODE_        = CREATE_DEFAULT_ERROR_MODE;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_NO_WINDOW_                 = CREATE_NO_WINDOW;// UndocumentedBOOST_CONSTEXPR_OR_CONST DWORD_ PROFILE_USER_                     = PROFILE_USER;BOOST_CONSTEXPR_OR_CONST DWORD_ PROFILE_KERNEL_                   = PROFILE_KERNEL;BOOST_CONSTEXPR_OR_CONST DWORD_ PROFILE_SERVER_                   = PROFILE_SERVER;#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_PROTECTED_PROCESS_         = CREATE_PROTECTED_PROCESS;BOOST_CONSTEXPR_OR_CONST DWORD_ EXTENDED_STARTUPINFO_PRESENT_     = EXTENDED_STARTUPINFO_PRESENT;#endif#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7BOOST_CONSTEXPR_OR_CONST DWORD_ INHERIT_PARENT_AFFINITY_          = INHERIT_PARENT_AFFINITY;#endif// Only documented for Windows CE#if defined(UNDER_CE)BOOST_CONSTEXPR_OR_CONST DWORD_ INHERIT_CALLER_PRIORITY_          = INHERIT_CALLER_PRIORITY;#endif#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM#if BOOST_WINAPI_PARTITION_DESKTOPBOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USESHOWWINDOW_    = STARTF_USESHOWWINDOW;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USESIZE_          = STARTF_USESIZE;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USEPOSITION_      = STARTF_USEPOSITION;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USECOUNTCHARS_    = STARTF_USECOUNTCHARS;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USEFILLATTRIBUTE_ = STARTF_USEFILLATTRIBUTE;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_RUNFULLSCREEN_    = STARTF_RUNFULLSCREEN;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_FORCEONFEEDBACK_  = STARTF_FORCEONFEEDBACK;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_FORCEOFFFEEDBACK_ = STARTF_FORCEOFFFEEDBACK;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USESTDHANDLES_    = STARTF_USESTDHANDLES;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USEHOTKEY_        = STARTF_USEHOTKEY;#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_TITLEISLINKNAME_  = STARTF_TITLEISLINKNAME;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_TITLEISAPPID_     = STARTF_TITLEISAPPID;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_PREVENTPINNING_   = STARTF_PREVENTPINNING;#endif#endif // BOOST_WINAPI_PARTITION_DESKTOPBOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_TERMINATE_ = PROCESS_TERMINATE;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_CREATE_THREAD_ = PROCESS_CREATE_THREAD;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_SET_SESSIONID_ = PROCESS_SET_SESSIONID;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_VM_OPERATION_ = PROCESS_VM_OPERATION;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_VM_READ_ = PROCESS_VM_READ;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_VM_WRITE_ = PROCESS_VM_WRITE;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_DUP_HANDLE_ = PROCESS_DUP_HANDLE;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_CREATE_PROCESS_ = PROCESS_CREATE_PROCESS;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_SET_QUOTA_ = PROCESS_SET_QUOTA;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_SET_INFORMATION_ = PROCESS_SET_INFORMATION;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_QUERY_INFORMATION_ = PROCESS_QUERY_INFORMATION;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_SUSPEND_RESUME_ = PROCESS_SUSPEND_RESUME;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_ALL_ACCESS_ = PROCESS_ALL_ACCESS;#else // defined( BOOST_USE_WINDOWS_H )#if BOOST_WINAPI_PARTITION_APP_SYSTEMBOOST_CONSTEXPR_OR_CONST DWORD_ DEBUG_PROCESS_                    = 0x1;BOOST_CONSTEXPR_OR_CONST DWORD_ DEBUG_ONLY_THIS_PROCESS_          = 0x2;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_SUSPENDED_                 = 0x4;BOOST_CONSTEXPR_OR_CONST DWORD_ DETACHED_PROCESS_                 = 0x8;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_NEW_CONSOLE_               = 0x10;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_NEW_PROCESS_GROUP_         = 0x200;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_UNICODE_ENVIRONMENT_       = 0x400;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_SEPARATE_WOW_VDM_          = 0x800;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_SHARED_WOW_VDM_            = 0x1000;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_FORCEDOS_                  = 0x2000;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_BREAKAWAY_FROM_JOB_        = 0x1000000;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_DEFAULT_ERROR_MODE_        = 0x4000000;BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_NO_WINDOW_                 = 0x8000000;// UndocumentedBOOST_CONSTEXPR_OR_CONST DWORD_ PROFILE_USER_                     = 0x10000000;BOOST_CONSTEXPR_OR_CONST DWORD_ PROFILE_KERNEL_                   = 0x20000000;BOOST_CONSTEXPR_OR_CONST DWORD_ PROFILE_SERVER_                   = 0x40000000;#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_PROTECTED_PROCESS_         = 0x40000;BOOST_CONSTEXPR_OR_CONST DWORD_ EXTENDED_STARTUPINFO_PRESENT_     = 0x80000;#endif#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7BOOST_CONSTEXPR_OR_CONST DWORD_ INHERIT_PARENT_AFFINITY_          = 0x10000;#endif// Only documented for Windows CE#if defined(UNDER_CE)BOOST_CONSTEXPR_OR_CONST DWORD_ INHERIT_CALLER_PRIORITY_          = 0x20000;#endif#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM#if BOOST_WINAPI_PARTITION_DESKTOPBOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USESHOWWINDOW_    = 0x00000001;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USESIZE_          = 0x00000002;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USEPOSITION_      = 0x00000004;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USECOUNTCHARS_    = 0x00000008;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USEFILLATTRIBUTE_ = 0x00000010;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_RUNFULLSCREEN_    = 0x00000020;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_FORCEONFEEDBACK_  = 0x00000040;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_FORCEOFFFEEDBACK_ = 0x00000080;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USESTDHANDLES_    = 0x00000100;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_USEHOTKEY_        = 0x00000200;#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_TITLEISLINKNAME_  = 0x00000800;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_TITLEISAPPID_     = 0x00001000;BOOST_CONSTEXPR_OR_CONST DWORD_ STARTF_PREVENTPINNING_   = 0x00002000;#endif#endif // BOOST_WINAPI_PARTITION_DESKTOPBOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_TERMINATE_ = 0x0001;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_CREATE_THREAD_ = 0x0002;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_SET_SESSIONID_ = 0x0004;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_VM_OPERATION_ = 0x0008;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_VM_READ_ = 0x0010;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_VM_WRITE_ = 0x0020;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_DUP_HANDLE_ = 0x0040;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_CREATE_PROCESS_ = 0x0080;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_SET_QUOTA_ = 0x0100;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_SET_INFORMATION_ = 0x0200;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_QUERY_INFORMATION_ = 0x0400;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_SUSPEND_RESUME_ = 0x0800;BOOST_CONSTEXPR_OR_CONST DWORD_ PROCESS_ALL_ACCESS_ = (STANDARD_RIGHTS_REQUIRED_ | SYNCHRONIZE_ |#if BOOST_USE_NTDDI_VERSION >= BOOST_WINAPI_NTDDI_WIN6    0xFFFF#else    0x0FFF#endif);#endif // defined( BOOST_USE_WINDOWS_H )#if BOOST_WINAPI_PARTITION_APP_SYSTEM#if defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW )BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_PRESERVE_CODE_AUTHZ_LEVEL_ = CREATE_PRESERVE_CODE_AUTHZ_LEVEL;// UndocumentedBOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_IGNORE_SYSTEM_DEFAULT_     = CREATE_IGNORE_SYSTEM_DEFAULT;#else // defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW )BOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_PRESERVE_CODE_AUTHZ_LEVEL_ = 0x2000000;// UndocumentedBOOST_CONSTEXPR_OR_CONST DWORD_ CREATE_IGNORE_SYSTEM_DEFAULT_     = 0x80000000;#endif // defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW )#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM#if BOOST_WINAPI_PARTITION_APP_SYSTEMtypedef struct BOOST_MAY_ALIAS _PROCESS_INFORMATION {    HANDLE_ hProcess;    HANDLE_ hThread;    DWORD_ dwProcessId;    DWORD_ dwThreadId;} PROCESS_INFORMATION_, *PPROCESS_INFORMATION_, *LPPROCESS_INFORMATION_;#if !defined(BOOST_NO_ANSI_APIS)typedef struct BOOST_MAY_ALIAS _STARTUPINFOA {    DWORD_ cb;    LPSTR_ lpReserved;    LPSTR_ lpDesktop;    LPSTR_ 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;} STARTUPINFOA_, *LPSTARTUPINFOA_;#endif // !defined(BOOST_NO_ANSI_APIS)typedef struct BOOST_MAY_ALIAS _STARTUPINFOW {    DWORD_ cb;    LPWSTR_ lpReserved;    LPWSTR_ lpDesktop;    LPWSTR_ 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;} STARTUPINFOW_, *LPSTARTUPINFOW_;#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6#if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEMtypedef struct _PROC_THREAD_ATTRIBUTE_LIST PROC_THREAD_ATTRIBUTE_LIST_, *PPROC_THREAD_ATTRIBUTE_LIST_;#endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM#if BOOST_WINAPI_PARTITION_DESKTOP#if !defined(BOOST_NO_ANSI_APIS)typedef struct BOOST_MAY_ALIAS _STARTUPINFOEXA {    STARTUPINFOA_ StartupInfo;    PPROC_THREAD_ATTRIBUTE_LIST_ lpAttributeList;} STARTUPINFOEXA_, *LPSTARTUPINFOEXA_;#endif // !defined(BOOST_NO_ANSI_APIS)typedef struct BOOST_MAY_ALIAS _STARTUPINFOEXW {    STARTUPINFOW_ StartupInfo;    PPROC_THREAD_ATTRIBUTE_LIST_ lpAttributeList;} STARTUPINFOEXW_, *LPSTARTUPINFOEXW_;#endif // BOOST_WINAPI_PARTITION_DESKTOP#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6#if BOOST_WINAPI_PARTITION_APP_SYSTEMusing ::TerminateProcess;using ::OpenProcess;#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM#if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEMusing ::GetExitCodeProcess;using ::ExitProcess;#if !defined( BOOST_NO_ANSI_APIS )BOOST_FORCEINLINE BOOL_ CreateProcessA(    LPCSTR_ lpApplicationName,    LPSTR_ lpCommandLine,    LPSECURITY_ATTRIBUTES_ lpProcessAttributes,    LPSECURITY_ATTRIBUTES_ lpThreadAttributes,    INT_ bInheritHandles,    DWORD_ dwCreationFlags,    LPVOID_ lpEnvironment,    LPCSTR_ lpCurrentDirectory,    LPSTARTUPINFOA_ lpStartupInfo,    LPPROCESS_INFORMATION_ lpProcessInformation){    return ::CreateProcessA(        lpApplicationName,        lpCommandLine,        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpProcessAttributes),        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpThreadAttributes),        bInheritHandles,        dwCreationFlags,        lpEnvironment,        lpCurrentDirectory,        reinterpret_cast< ::_STARTUPINFOA* >(lpStartupInfo),        reinterpret_cast< ::_PROCESS_INFORMATION* >(lpProcessInformation));}BOOST_FORCEINLINE BOOL_ create_process(    LPCSTR_ lpApplicationName,    LPSTR_ lpCommandLine,    LPSECURITY_ATTRIBUTES_ lpProcessAttributes,    LPSECURITY_ATTRIBUTES_ lpThreadAttributes,    INT_ bInheritHandles,    DWORD_ dwCreationFlags,    LPVOID_ lpEnvironment,    LPCSTR_ lpCurrentDirectory,    LPSTARTUPINFOA_ lpStartupInfo,    LPPROCESS_INFORMATION_ lpProcessInformation){    return ::CreateProcessA(        lpApplicationName,        lpCommandLine,        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpProcessAttributes),        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpThreadAttributes),        bInheritHandles,        dwCreationFlags,        lpEnvironment,        lpCurrentDirectory,        reinterpret_cast< ::_STARTUPINFOA* >(lpStartupInfo),        reinterpret_cast< ::_PROCESS_INFORMATION* >(lpProcessInformation));}#endifBOOST_FORCEINLINE BOOL_ CreateProcessW(    LPCWSTR_ lpApplicationName,    LPWSTR_ lpCommandLine,    LPSECURITY_ATTRIBUTES_ lpProcessAttributes,    LPSECURITY_ATTRIBUTES_ lpThreadAttributes,    INT_ bInheritHandles,    DWORD_ dwCreationFlags,    LPVOID_ lpEnvironment,    LPCWSTR_ lpCurrentDirectory,    LPSTARTUPINFOW_ lpStartupInfo,    LPPROCESS_INFORMATION_ lpProcessInformation){    return ::CreateProcessW(        lpApplicationName,        lpCommandLine,        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpProcessAttributes),        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpThreadAttributes),        bInheritHandles,        dwCreationFlags,        lpEnvironment,        lpCurrentDirectory,        reinterpret_cast< ::_STARTUPINFOW* >(lpStartupInfo),        reinterpret_cast< ::_PROCESS_INFORMATION* >(lpProcessInformation));}BOOST_FORCEINLINE BOOL_ create_process(    LPCWSTR_ lpApplicationName,    LPWSTR_ lpCommandLine,    LPSECURITY_ATTRIBUTES_ lpProcessAttributes,    LPSECURITY_ATTRIBUTES_ lpThreadAttributes,    INT_ bInheritHandles,    DWORD_ dwCreationFlags,    LPVOID_ lpEnvironment,    LPCWSTR_ lpCurrentDirectory,    LPSTARTUPINFOW_ lpStartupInfo,    LPPROCESS_INFORMATION_ lpProcessInformation){    return ::CreateProcessW(        lpApplicationName,        lpCommandLine,        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpProcessAttributes),        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpThreadAttributes),        bInheritHandles,        dwCreationFlags,        lpEnvironment,        lpCurrentDirectory,        reinterpret_cast< ::_STARTUPINFOW* >(lpStartupInfo),        reinterpret_cast< ::_PROCESS_INFORMATION* >(lpProcessInformation));}#endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM}}#endif // BOOST_WINAPI_PROCESS_HPP_INCLUDED_
 |