LLDB mainline
lldb_private::ProcessLauncherWindows Class Reference

#include <ProcessLauncherWindows.h>

Inheritance diagram for lldb_private::ProcessLauncherWindows:
[legend]

Public Member Functions

HostProcess LaunchProcess (const ProcessLaunchInfo &launch_info, Status &error) override
Public Member Functions inherited from lldb_private::ProcessLauncher
virtual ~ProcessLauncher ()=default

Protected Member Functions

HANDLE GetStdioHandle (const ProcessLaunchInfo &launch_info, int fd)
llvm::ErrorOr< std::vector< HANDLE > > GetInheritedHandles (const ProcessLaunchInfo &launch_info, STARTUPINFOEXW &startupinfoex, HANDLE stdout_handle=NULL, HANDLE stderr_handle=NULL, HANDLE stdin_handle=NULL)
 Get the list of Windows handles that should be inherited by the child process and update STARTUPINFOEXW with the handle list.

Detailed Description

Definition at line 20 of file ProcessLauncherWindows.h.

Member Function Documentation

◆ GetInheritedHandles()

llvm::ErrorOr< std::vector< HANDLE > > ProcessLauncherWindows::GetInheritedHandles ( const ProcessLaunchInfo & launch_info,
STARTUPINFOEXW & startupinfoex,
HANDLE stdout_handle = NULL,
HANDLE stderr_handle = NULL,
HANDLE stdin_handle = NULL )
protected

Get the list of Windows handles that should be inherited by the child process and update STARTUPINFOEXW with the handle list.

If no handles need to be inherited, an empty vector is returned.

Otherwise, the function populates the PROC_THREAD_ATTRIBUTE_HANDLE_LIST attribute in startupinfoex with the collected handles using UpdateProcThreadAttribute. On success, the vector of inherited handles is returned.

Parameters
launch_infoThe process launch configuration.
startupinfoexThe extended STARTUPINFO structure for the process being created.
stdout_handle
stderr_handle
stdin_handleOptional explicit standard stream handles to use for the child process.
Returns
std::vector<HANDLE> containing all handles that the child must inherit.

Definition at line 195 of file ProcessLauncherWindows.cpp.

References lldb_private::FileAction::eFileActionDuplicate, lldb_private::FileAction::GetAction(), lldb_private::FileAction::GetActionArgument(), lldb_private::FileAction::GetFD(), lldb_private::ProcessLaunchInfo::GetFileActionAtIndex(), and lldb_private::ProcessLaunchInfo::GetNumFileActions().

Referenced by LaunchProcess().

◆ GetStdioHandle()

HANDLE ProcessLauncherWindows::GetStdioHandle ( const ProcessLaunchInfo & launch_info,
int fd )
protected

◆ LaunchProcess()


The documentation for this class was generated from the following files: