Crashpad
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Loading...
Searching...
No Matches
crashpad::InitialClientData Class Reference

A container for the data associated with the --initial-client-data method for initializing the handler process on Windows. More...

#include "util/win/initial_client_data.h"

Public Member Functions

 InitialClientData ()
 Constructs an unintialized instance to be used with InitializeFromString().
 
 InitialClientData (HANDLE request_crash_dump, HANDLE request_non_crash_dump, HANDLE non_crash_dump_completed, HANDLE first_pipe_instance, HANDLE client_process, WinVMAddress crash_exception_information, WinVMAddress non_crash_exception_information, WinVMAddress debug_critical_section_address)
 Constructs an instance of InitialClientData. This object does not take ownership of any of the referenced HANDLEs.
 
 InitialClientData (const InitialClientData &)=delete
 
InitialClientDataoperator= (const InitialClientData &)=delete
 
bool IsValid () const
 Returns whether the object has been initialized successfully.
 
bool InitializeFromString (const std::string &str)
 
std::string StringRepresentation () const
 Returns a string representation of the data of this object, suitable for passing on the command line.
 
HANDLE request_crash_dump () const
 
HANDLE request_non_crash_dump () const
 
HANDLE non_crash_dump_completed () const
 
HANDLE first_pipe_instance () const
 
HANDLE client_process () const
 
WinVMAddress crash_exception_information () const
 
WinVMAddress non_crash_exception_information () const
 
WinVMAddress debug_critical_section_address () const
 

Detailed Description

A container for the data associated with the --initial-client-data method for initializing the handler process on Windows.

Constructor & Destructor Documentation

◆ InitialClientData()

crashpad::InitialClientData::InitialClientData ( HANDLE request_crash_dump,
HANDLE request_non_crash_dump,
HANDLE non_crash_dump_completed,
HANDLE first_pipe_instance,
HANDLE client_process,
WinVMAddress crash_exception_information,
WinVMAddress non_crash_exception_information,
WinVMAddress debug_critical_section_address )

Constructs an instance of InitialClientData. This object does not take ownership of any of the referenced HANDLEs.

Parameters
[in]request_crash_dumpAn event signalled from the client on crash.
[in]request_non_crash_dumpAn event signalled from the client when it would like a dump to be taken, but allowed to continue afterwards.
[in]non_crash_dump_completedAn event signalled from the handler to tell the client that the non-crash dump has completed, and it can continue execution.
[in]first_pipe_instanceThe server end and first instance of a pipe that will be used for communication with all other clients after this initial one.
[in]client_processA process handle for the client being registered.
[in]crash_exception_informationThe address, in the client's address space, of an ExceptionInformation structure, used when handling a crash dump request.
[in]non_crash_exception_informationThe address, in the client's address space, of an ExceptionInformation structure, used when handling a non-crashing dump request.
[in]debug_critical_section_addressThe address, in the client process's address space, of a CRITICAL_SECTION allocated with a valid .DebugInfo field. This can be accomplished by using InitializeCriticalSectionWithDebugInfoIfPossible() or equivalent. This value can be 0, however then limited lock data will be available in minidumps.

Member Function Documentation

◆ InitializeFromString()

bool crashpad::InitialClientData::InitializeFromString ( const std::string & str)

Initializes this object from a string representation presumed to have been created by StringRepresentation().

Parameters
[in]strThe output of StringRepresentation().
Returns
true on success, or false with a message logged on failure.

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