File indexing completed on 2025-01-18 09:50:10
0001
0002
0003
0004
0005
0006 #ifndef BOOST_PROCESS_V2_DETAIL_PROC_INFO_HPP
0007 #define BOOST_PROCESS_V2_DETAIL_PROC_INFO_HPP
0008
0009 #include <boost/process/v2/detail/config.hpp>
0010 #include <boost/process/v2/detail/throw_error.hpp>
0011 #include <boost/process/v2/pid.hpp>
0012
0013 #include <string>
0014 #include <vector>
0015
0016 #if defined(BOOST_PROCESS_V2_WINDOWS)
0017 #include <iterator>
0018 #include <algorithm>
0019 #include <windows.h>
0020 #include <winternl.h>
0021 extern "C" ULONG NTAPI RtlNtStatusToDosError(NTSTATUS Status);
0022 #endif
0023
0024 BOOST_PROCESS_V2_BEGIN_NAMESPACE
0025
0026 namespace detail
0027 {
0028
0029 namespace ext
0030 {
0031
0032 #if defined(BOOST_PROCESS_V2_WINDOWS)
0033 #if !defined(_MSC_VER)
0034 #pragma pack(push, 8)
0035 #else
0036 #include <pshpack8.h>
0037 #endif
0038
0039
0040
0041
0042
0043 typedef struct {
0044 UNICODE_STRING DosPath;
0045 HANDLE Handle;
0046 } CURDIR;
0047
0048
0049
0050
0051
0052 typedef struct {
0053 USHORT Flags;
0054 USHORT Length;
0055 ULONG TimeStamp;
0056 STRING DosPath;
0057 } RTL_DRIVE_LETTER_CURDIR;
0058
0059
0060
0061
0062
0063 typedef struct {
0064 ULONG MaximumLength;
0065 ULONG Length;
0066 ULONG Flags;
0067 ULONG DebugFlags;
0068 HANDLE ConsoleHandle;
0069 ULONG ConsoleFlags;
0070 HANDLE StandardInput;
0071 HANDLE StandardOutput;
0072 HANDLE StandardError;
0073 CURDIR CurrentDirectory;
0074 UNICODE_STRING DllPath;
0075 UNICODE_STRING ImagePathName;
0076 UNICODE_STRING CommandLine;
0077 PVOID Environment;
0078 ULONG StartingX;
0079 ULONG StartingY;
0080 ULONG CountX;
0081 ULONG CountY;
0082 ULONG CountCharsX;
0083 ULONG CountCharsY;
0084 ULONG FillAttribute;
0085 ULONG WindowFlags;
0086 ULONG ShowWindowFlags;
0087 UNICODE_STRING WindowTitle;
0088 UNICODE_STRING DesktopInfo;
0089 UNICODE_STRING ShellInfo;
0090 UNICODE_STRING RuntimeData;
0091 RTL_DRIVE_LETTER_CURDIR CurrentDirectories[32];
0092 ULONG_PTR EnvironmentSize;
0093 ULONG_PTR EnvironmentVersion;
0094 PVOID PackageDependencyData;
0095 ULONG ProcessGroupId;
0096 ULONG LoaderThreads;
0097 UNICODE_STRING RedirectionDllName;
0098 UNICODE_STRING HeapPartitionName;
0099 ULONG_PTR DefaultThreadpoolCpuSetMasks;
0100 ULONG DefaultThreadpoolCpuSetMaskCount;
0101 } RTL_USER_PROCESS_PARAMETERS_EXTENDED;
0102
0103 #if !defined(_MSC_VER)
0104 #pragma pack(pop)
0105 #else
0106 #include <poppack.h>
0107 #endif
0108 BOOST_PROCESS_V2_DECL std::wstring cwd_cmd_from_proc(HANDLE proc, int type, boost::system::error_code & ec);
0109 BOOST_PROCESS_V2_DECL HANDLE open_process_with_debug_privilege(boost::process::v2::pid_type pid, boost::system::error_code & ec);
0110 #endif
0111
0112 }
0113
0114 }
0115
0116 BOOST_PROCESS_V2_END_NAMESPACE
0117
0118 #if defined(BOOST_PROCESS_V2_HEADER_ONLY)
0119
0120 #include <boost/process/v2/ext/detail/impl/proc_info.ipp>
0121
0122 #endif
0123
0124 #endif
0125