Crashpad
Public Member Functions | List of all members
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. More...
 
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: