LLDB mainline
lldb_private::ProcThreadAttributeList Class Reference

This class manages the lifetime of a PROC_THREAD_ATTRIBUTE_LIST, which is used with STARTUPINFOEX. More...

#include <ProcessLauncherWindows.h>

Public Member Functions

llvm::Error SetupPseudoConsole (HPCON hPC)
 Setup the PseudoConsole handle in the underlying LPPROC_THREAD_ATTRIBUTE_LIST.
 ~ProcThreadAttributeList ()
 ProcThreadAttributeList (ProcThreadAttributeList &&other) noexcept
 ProcThreadAttributeList (const ProcThreadAttributeList &)=delete
 ProcThreadAttributeList is not copyable.
ProcThreadAttributeListoperator= (const ProcThreadAttributeList &)=delete

Static Public Member Functions

static llvm::ErrorOr< ProcThreadAttributeListCreate (STARTUPINFOEXW &startupinfoex)
 Allocate memory for the attribute list, initialize it, and sets the lpAttributeList member of STARTUPINFOEXW structure.

Private Member Functions

 ProcThreadAttributeList (LPPROC_THREAD_ATTRIBUTE_LIST list)

Private Attributes

LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList

Detailed Description

This class manages the lifetime of a PROC_THREAD_ATTRIBUTE_LIST, which is used with STARTUPINFOEX.

The attribute list is automatically cleaned up when this object is destroyed.

Definition at line 31 of file ProcessLauncherWindows.h.

Constructor & Destructor Documentation

◆ ~ProcThreadAttributeList()

lldb_private::ProcThreadAttributeList::~ProcThreadAttributeList ( )
inline

Definition at line 54 of file ProcessLauncherWindows.h.

References lpAttributeList.

◆ ProcThreadAttributeList() [1/3]

lldb_private::ProcThreadAttributeList::ProcThreadAttributeList ( const ProcThreadAttributeList & )
delete

◆ ProcThreadAttributeList() [2/3]

lldb_private::ProcThreadAttributeList::ProcThreadAttributeList ( ProcThreadAttributeList && other)
inlinenoexcept

Definition at line 67 of file ProcessLauncherWindows.h.

References ProcThreadAttributeList().

◆ ProcThreadAttributeList() [3/3]

lldb_private::ProcThreadAttributeList::ProcThreadAttributeList ( LPPROC_THREAD_ATTRIBUTE_LIST list)
inlineexplicitprivate

Definition at line 73 of file ProcessLauncherWindows.h.

References lpAttributeList.

Member Function Documentation

◆ Create()

llvm::ErrorOr< ProcThreadAttributeList > ProcThreadAttributeList::Create ( STARTUPINFOEXW & startupinfoex)
static

Allocate memory for the attribute list, initialize it, and sets the lpAttributeList member of STARTUPINFOEXW structure.

Parameters
[in,out]startupinfoexThe STARTUPINFOEXW structure whose lpAttributeList member will be set to point to the attribute list. The caller must ensure this structure remains valid for the lifetime of the returned object.
Returns
A ProcThreadAttributeList object on success, or an error code on failure.

Definition at line 93 of file ProcessLauncherWindows.cpp.

References ProcThreadAttributeList().

Referenced by lldb_private::PseudoConsole::DrainInitSequences(), and lldb_private::ProcessLauncherWindows::LaunchProcess().

◆ operator=()

ProcThreadAttributeList & lldb_private::ProcThreadAttributeList::operator= ( const ProcThreadAttributeList & )
delete

◆ SetupPseudoConsole()

llvm::Error ProcThreadAttributeList::SetupPseudoConsole ( HPCON hPC)

Setup the PseudoConsole handle in the underlying LPPROC_THREAD_ATTRIBUTE_LIST.

Parameters
hPCThe handle to the PseudoConsole.

Definition at line 115 of file ProcessLauncherWindows.cpp.

References lpAttributeList, and PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE.

Referenced by lldb_private::PseudoConsole::DrainInitSequences(), and lldb_private::ProcessLauncherWindows::LaunchProcess().

Member Data Documentation

◆ lpAttributeList

LPPROC_THREAD_ATTRIBUTE_LIST lldb_private::ProcThreadAttributeList::lpAttributeList
private

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