<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="contents">
&#160;

<h3><a id="index_h"></a>- h -</h3><ul>
<li>HandleChildPortCheckIn()
: <a class="el" href="classcrashpad_1_1ChildPortServer_1_1Interface.html#a5ecd466de45fe69854d37980b7373369">crashpad::ChildPortServer::Interface</a>
</li>
<li>HandleException()
: <a class="el" href="classcrashpad_1_1CrashReportExceptionHandler.html#af5fba19c5a6e5168d1b88cfa18a407fd">crashpad::CrashReportExceptionHandler</a>
, <a class="el" href="classcrashpad_1_1ExceptionHandlerServer_1_1Delegate.html#a2a914e6fc5649ff45a04450981d02e4b">crashpad::ExceptionHandlerServer::Delegate</a>
</li>
<li>HandleExceptionHandles()
: <a class="el" href="classcrashpad_1_1CrashReportExceptionHandler.html#a576db96df6f5a1e8315ad55222dfe46a">crashpad::CrashReportExceptionHandler</a>
</li>
<li>HandleExceptionWithBroker()
: <a class="el" href="classcrashpad_1_1CrashReportExceptionHandler.html#a784e5435c3b4761a8f6c175670d5eaf8">crashpad::CrashReportExceptionHandler</a>
, <a class="el" href="classcrashpad_1_1ExceptionHandlerServer_1_1Delegate.html#a23454637c526f20495ebf6a4688188d7">crashpad::ExceptionHandlerServer::Delegate</a>
</li>
<li>HandlerCrashed()
: <a class="el" href="classcrashpad_1_1Metrics.html#a414d83c6d5eeb481ae1c6d9c01692565">crashpad::Metrics</a>
</li>
<li>HandlerLifetimeMilestone()
: <a class="el" href="classcrashpad_1_1Metrics.html#a6e30c5852e7c97ef98443b6bae22b37f">crashpad::Metrics</a>
</li>
<li>Handles()
: <a class="el" href="classcrashpad_1_1ProcessInfo.html#a51acf068bb94b25b44189cd6e1adfcf8">crashpad::ProcessInfo</a>
, <a class="el" href="classcrashpad_1_1ProcessSnapshot.html#aec92d647e9d548bf4cfb9237bfcbba81">crashpad::ProcessSnapshot</a>
, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#aafea5ed6d16262d9a6080f8270ff661b">crashpad::ProcessSnapshotFuchsia</a>
, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a4f22075a9ca4813fe71ff76d995bf036">crashpad::ProcessSnapshotLinux</a>
, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a8d048338b40bb2f2666662babd085f88">crashpad::ProcessSnapshotMac</a>
, <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#ac2c9f38544c523566da27683481b9134">crashpad::ProcessSnapshotMinidump</a>
, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a380a2f8a906ad3f2321fb7e693f31f47">crashpad::ProcessSnapshotSanitized</a>
, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#afa723da6e55516adee15e49de086b269">crashpad::ProcessSnapshotWin</a>
, <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a230acc3f1dd1cf8f4d0b2e84e106f292">crashpad::test::TestProcessSnapshot</a>
</li>
<li>Has32BitBuildArtifacts()
: <a class="el" href="classcrashpad_1_1test_1_1TestPaths.html#a2ad926b54eca4e5df637a51fb485fdf7">crashpad::test::TestPaths</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
