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_dump | An event signalled from the client on crash.
  [in] | request_non_crash_dump | An event signalled from the client when it would like a dump to be taken, but allowed to continue afterwards.
  [in] | non_crash_dump_completed | An event signalled from the handler to tell the client that the non-crash dump has completed, and it can continue execution.
  [in] | first_pipe_instance | The server end and first instance of a pipe that will be used for communication with all other clients after this initial one.
  [in] | client_process | A process handle for the client being registered.
  [in] | crash_exception_information | The address, in the client's address space, of an ExceptionInformation structure, used when handling a crash dump request.
  [in] | non_crash_exception_information | The address, in the client's address space, of an ExceptionInformation structure, used when handling a non-crashing dump request.
  [in] | debug_critical_section_address | The 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] | str | The 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:

- util/win/initial_client_data.h
- util/win/initial_client_data.cc