diff options
Diffstat (limited to 'boost/detail/winapi/process.hpp')
-rw-r--r-- | boost/detail/winapi/process.hpp | 421 |
1 files changed, 10 insertions, 411 deletions
diff --git a/boost/detail/winapi/process.hpp b/boost/detail/winapi/process.hpp index dc8a5339bb..3810ba7e05 100644 --- a/boost/detail/winapi/process.hpp +++ b/boost/detail/winapi/process.hpp @@ -1,421 +1,20 @@ -// process.hpp --------------------------------------------------------------// - -// Copyright 2016 Klemens D. Morgenstern -// Copyright 2016 Andrey Semashev - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt +/* + * Copyright 2017 Andrey Semashev + * + * Distributed under the Boost Software License, Version 1.0. + * See http://www.boost.org/LICENSE_1_0.txt + * + * This header is deprecated, use boost/winapi/process.hpp instead. + */ #ifndef BOOST_DETAIL_WINAPI_PROCESS_HPP_ #define BOOST_DETAIL_WINAPI_PROCESS_HPP_ -#include <boost/detail/winapi/config.hpp> -#include <boost/detail/winapi/basic_types.hpp> -#include <boost/detail/winapi/access_rights.hpp> -#include <boost/detail/winapi/get_current_process.hpp> -#include <boost/detail/winapi/get_current_process_id.hpp> -#include <boost/predef/platform.h> +#include <boost/winapi/process.hpp> +#include <boost/detail/winapi/detail/deprecated_namespace.hpp> #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif -#if BOOST_PLAT_WINDOWS_DESKTOP - -#if !defined( BOOST_USE_WINDOWS_H ) -extern "C" { - -struct _PROCESS_INFORMATION; -#if !defined( BOOST_NO_ANSI_APIS ) -struct _STARTUPINFOA; -#endif -struct _STARTUPINFOW; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 -struct _PROC_THREAD_ATTRIBUTE_LIST; -#if !defined( BOOST_NO_ANSI_APIS ) -struct _STARTUPINFOEXA; -#endif -struct _STARTUPINFOEXW; -#endif - -BOOST_SYMBOL_IMPORT BOOST_NORETURN boost::detail::winapi::VOID_ WINAPI -ExitProcess(boost::detail::winapi::UINT_ uExitCode); - -BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI TerminateProcess( - boost::detail::winapi::HANDLE_ hProcess, - boost::detail::winapi::UINT_ uExitCode); - -BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI GetExitCodeProcess( - boost::detail::winapi::HANDLE_ hProcess, - boost::detail::winapi::LPDWORD_ lpExitCode); - -#if !defined( BOOST_NO_ANSI_APIS ) -BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI CreateProcessA( - boost::detail::winapi::LPCSTR_ lpApplicationName, - boost::detail::winapi::LPSTR_ lpCommandLine, - ::_SECURITY_ATTRIBUTES* lpProcessAttributes, - ::_SECURITY_ATTRIBUTES* lpThreadAttributes, - boost::detail::winapi::INT_ bInheritHandles, - boost::detail::winapi::DWORD_ dwCreationFlags, - boost::detail::winapi::LPVOID_ lpEnvironment, - boost::detail::winapi::LPCSTR_ lpCurrentDirectory, - ::_STARTUPINFOA* lpStartupInfo, - ::_PROCESS_INFORMATION* lpProcessInformation); -#endif - -BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI CreateProcessW( - boost::detail::winapi::LPCWSTR_ lpApplicationName, - boost::detail::winapi::LPWSTR_ lpCommandLine, - ::_SECURITY_ATTRIBUTES* lpProcessAttributes, - ::_SECURITY_ATTRIBUTES* lpThreadAttributes, - boost::detail::winapi::INT_ bInheritHandles, - boost::detail::winapi::DWORD_ dwCreationFlags, - boost::detail::winapi::LPVOID_ lpEnvironment, - boost::detail::winapi::LPCWSTR_ lpCurrentDirectory, - ::_STARTUPINFOW* lpStartupInfo, - ::_PROCESS_INFORMATION* lpProcessInformation); - -BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI OpenProcess( - boost::detail::winapi::DWORD_ dwDesiredAccess, - boost::detail::winapi::BOOL_ bInheritHandle, - boost::detail::winapi::DWORD_ dwProcessId); - -} // extern "C" -#endif //defined BOOST_WINDOWS_H - -namespace boost { -namespace detail { -namespace winapi { - -#if defined( BOOST_USE_WINDOWS_H ) - -const DWORD_ DEBUG_PROCESS_ = DEBUG_PROCESS; -const DWORD_ DEBUG_ONLY_THIS_PROCESS_ = DEBUG_ONLY_THIS_PROCESS; -const DWORD_ CREATE_SUSPENDED_ = CREATE_SUSPENDED; -const DWORD_ DETACHED_PROCESS_ = DETACHED_PROCESS; -const DWORD_ CREATE_NEW_CONSOLE_ = CREATE_NEW_CONSOLE; -const DWORD_ CREATE_NEW_PROCESS_GROUP_ = CREATE_NEW_PROCESS_GROUP; -const DWORD_ CREATE_UNICODE_ENVIRONMENT_ = CREATE_UNICODE_ENVIRONMENT; -const DWORD_ CREATE_SEPARATE_WOW_VDM_ = CREATE_SEPARATE_WOW_VDM; -const DWORD_ CREATE_SHARED_WOW_VDM_ = CREATE_SHARED_WOW_VDM; -const DWORD_ CREATE_FORCEDOS_ = CREATE_FORCEDOS; -const DWORD_ CREATE_BREAKAWAY_FROM_JOB_ = CREATE_BREAKAWAY_FROM_JOB; -const DWORD_ CREATE_DEFAULT_ERROR_MODE_ = CREATE_DEFAULT_ERROR_MODE; -const DWORD_ CREATE_NO_WINDOW_ = CREATE_NO_WINDOW; - -// Undocumented -const DWORD_ PROFILE_USER_ = PROFILE_USER; -const DWORD_ PROFILE_KERNEL_ = PROFILE_KERNEL; -const DWORD_ PROFILE_SERVER_ = PROFILE_SERVER; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 -const DWORD_ CREATE_PROTECTED_PROCESS_ = CREATE_PROTECTED_PROCESS; -const DWORD_ EXTENDED_STARTUPINFO_PRESENT_ = EXTENDED_STARTUPINFO_PRESENT; -#endif - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7 -const DWORD_ INHERIT_PARENT_AFFINITY_ = INHERIT_PARENT_AFFINITY; -#endif - -// Only documented for Windows CE -#if defined(UNDER_CE) -const DWORD_ INHERIT_CALLER_PRIORITY_ = INHERIT_CALLER_PRIORITY; -#endif - -const DWORD_ STARTF_USESHOWWINDOW_ = STARTF_USESHOWWINDOW; -const DWORD_ STARTF_USESIZE_ = STARTF_USESIZE; -const DWORD_ STARTF_USEPOSITION_ = STARTF_USEPOSITION; -const DWORD_ STARTF_USECOUNTCHARS_ = STARTF_USECOUNTCHARS; -const DWORD_ STARTF_USEFILLATTRIBUTE_ = STARTF_USEFILLATTRIBUTE; -const DWORD_ STARTF_RUNFULLSCREEN_ = STARTF_RUNFULLSCREEN; -const DWORD_ STARTF_FORCEONFEEDBACK_ = STARTF_FORCEONFEEDBACK; -const DWORD_ STARTF_FORCEOFFFEEDBACK_ = STARTF_FORCEOFFFEEDBACK; -const DWORD_ STARTF_USESTDHANDLES_ = STARTF_USESTDHANDLES; -const DWORD_ STARTF_USEHOTKEY_ = STARTF_USEHOTKEY; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7 -const DWORD_ STARTF_TITLEISLINKNAME_ = STARTF_TITLEISLINKNAME; -const DWORD_ STARTF_TITLEISAPPID_ = STARTF_TITLEISAPPID; -const DWORD_ STARTF_PREVENTPINNING_ = STARTF_PREVENTPINNING; -#endif - -const DWORD_ PROCESS_TERMINATE_ = PROCESS_TERMINATE; -const DWORD_ PROCESS_CREATE_THREAD_ = PROCESS_CREATE_THREAD; -const DWORD_ PROCESS_SET_SESSIONID_ = PROCESS_SET_SESSIONID; -const DWORD_ PROCESS_VM_OPERATION_ = PROCESS_VM_OPERATION; -const DWORD_ PROCESS_VM_READ_ = PROCESS_VM_READ; -const DWORD_ PROCESS_VM_WRITE_ = PROCESS_VM_WRITE; -const DWORD_ PROCESS_DUP_HANDLE_ = PROCESS_DUP_HANDLE; -const DWORD_ PROCESS_CREATE_PROCESS_ = PROCESS_CREATE_PROCESS; -const DWORD_ PROCESS_SET_QUOTA_ = PROCESS_SET_QUOTA; -const DWORD_ PROCESS_SET_INFORMATION_ = PROCESS_SET_INFORMATION; -const DWORD_ PROCESS_QUERY_INFORMATION_ = PROCESS_QUERY_INFORMATION; -const DWORD_ PROCESS_SUSPEND_RESUME_ = PROCESS_SUSPEND_RESUME; -const DWORD_ PROCESS_ALL_ACCESS_ = PROCESS_ALL_ACCESS; - -#else // defined( BOOST_USE_WINDOWS_H ) - -const DWORD_ DEBUG_PROCESS_ = 0x1; -const DWORD_ DEBUG_ONLY_THIS_PROCESS_ = 0x2; -const DWORD_ CREATE_SUSPENDED_ = 0x4; -const DWORD_ DETACHED_PROCESS_ = 0x8; -const DWORD_ CREATE_NEW_CONSOLE_ = 0x10; -const DWORD_ CREATE_NEW_PROCESS_GROUP_ = 0x200; -const DWORD_ CREATE_UNICODE_ENVIRONMENT_ = 0x400; -const DWORD_ CREATE_SEPARATE_WOW_VDM_ = 0x800; -const DWORD_ CREATE_SHARED_WOW_VDM_ = 0x1000; -const DWORD_ CREATE_FORCEDOS_ = 0x2000; -const DWORD_ CREATE_BREAKAWAY_FROM_JOB_ = 0x1000000; -const DWORD_ CREATE_DEFAULT_ERROR_MODE_ = 0x4000000; -const DWORD_ CREATE_NO_WINDOW_ = 0x8000000; - -// Undocumented -const DWORD_ PROFILE_USER_ = 0x10000000; -const DWORD_ PROFILE_KERNEL_ = 0x20000000; -const DWORD_ PROFILE_SERVER_ = 0x40000000; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 -const DWORD_ CREATE_PROTECTED_PROCESS_ = 0x40000; -const DWORD_ EXTENDED_STARTUPINFO_PRESENT_ = 0x80000; -#endif - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7 -const DWORD_ INHERIT_PARENT_AFFINITY_ = 0x10000; -#endif - -// Only documented for Windows CE -#if defined(UNDER_CE) -const DWORD_ INHERIT_CALLER_PRIORITY_ = 0x20000; -#endif - -const DWORD_ STARTF_USESHOWWINDOW_ = 0x00000001; -const DWORD_ STARTF_USESIZE_ = 0x00000002; -const DWORD_ STARTF_USEPOSITION_ = 0x00000004; -const DWORD_ STARTF_USECOUNTCHARS_ = 0x00000008; -const DWORD_ STARTF_USEFILLATTRIBUTE_ = 0x00000010; -const DWORD_ STARTF_RUNFULLSCREEN_ = 0x00000020; -const DWORD_ STARTF_FORCEONFEEDBACK_ = 0x00000040; -const DWORD_ STARTF_FORCEOFFFEEDBACK_ = 0x00000080; -const DWORD_ STARTF_USESTDHANDLES_ = 0x00000100; -const DWORD_ STARTF_USEHOTKEY_ = 0x00000200; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7 -const DWORD_ STARTF_TITLEISLINKNAME_ = 0x00000800; -const DWORD_ STARTF_TITLEISAPPID_ = 0x00001000; -const DWORD_ STARTF_PREVENTPINNING_ = 0x00002000; -#endif - -const DWORD_ PROCESS_TERMINATE_ = 0x0001; -const DWORD_ PROCESS_CREATE_THREAD_ = 0x0002; -const DWORD_ PROCESS_SET_SESSIONID_ = 0x0004; -const DWORD_ PROCESS_VM_OPERATION_ = 0x0008; -const DWORD_ PROCESS_VM_READ_ = 0x0010; -const DWORD_ PROCESS_VM_WRITE_ = 0x0020; -const DWORD_ PROCESS_DUP_HANDLE_ = 0x0040; -const DWORD_ PROCESS_CREATE_PROCESS_ = 0x0080; -const DWORD_ PROCESS_SET_QUOTA_ = 0x0100; -const DWORD_ PROCESS_SET_INFORMATION_ = 0x0200; -const DWORD_ PROCESS_QUERY_INFORMATION_ = 0x0400; -const DWORD_ PROCESS_SUSPEND_RESUME_ = 0x0800; -const DWORD_ PROCESS_ALL_ACCESS_ = (STANDARD_RIGHTS_REQUIRED_ | SYNCHRONIZE_ | 0xFFF); - -#endif // defined( BOOST_USE_WINDOWS_H ) - -#if defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW ) - -const DWORD_ CREATE_PRESERVE_CODE_AUTHZ_LEVEL_ = CREATE_PRESERVE_CODE_AUTHZ_LEVEL; - -// Undocumented -const DWORD_ CREATE_IGNORE_SYSTEM_DEFAULT_ = CREATE_IGNORE_SYSTEM_DEFAULT; - -#else // defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW ) - -const DWORD_ CREATE_PRESERVE_CODE_AUTHZ_LEVEL_ = 0x2000000; - -// Undocumented -const DWORD_ CREATE_IGNORE_SYSTEM_DEFAULT_ = 0x80000000; - -#endif // defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW ) - -typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _PROCESS_INFORMATION { - HANDLE_ hProcess; - HANDLE_ hThread; - DWORD_ dwProcessId; - DWORD_ dwThreadId; -} PROCESS_INFORMATION_, *PPROCESS_INFORMATION_, *LPPROCESS_INFORMATION_; - -typedef struct BOOST_DETAIL_WINAPI_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_; - -typedef struct BOOST_DETAIL_WINAPI_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_; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - -typedef struct _PROC_THREAD_ATTRIBUTE_LIST PROC_THREAD_ATTRIBUTE_LIST_, *PPROC_THREAD_ATTRIBUTE_LIST_; - -#if !defined(BOOST_NO_ANSI_APIS) -typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _STARTUPINFOEXA { - STARTUPINFOA_ StartupInfo; - PPROC_THREAD_ATTRIBUTE_LIST_ lpAttributeList; -} STARTUPINFOEXA_, *LPSTARTUPINFOEXA_; -#endif //BOOST_NO_ANSI_APIS - -typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _STARTUPINFOEXW { - STARTUPINFOW_ StartupInfo; - PPROC_THREAD_ATTRIBUTE_LIST_ lpAttributeList; -} STARTUPINFOEXW_, *LPSTARTUPINFOEXW_; - -#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - -using ::GetExitCodeProcess; -using ::ExitProcess; -using ::TerminateProcess; -using ::OpenProcess; - -#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)); -} -#endif - -BOOST_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_PLAT_WINDOWS_DESKTOP - #endif // BOOST_DETAIL_WINAPI_PROCESS_HPP_ |