<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::ProcessMemoryFuchsia Class Reference</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.18 -->
<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>
<!-- 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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1ProcessMemoryFuchsia.html">ProcessMemoryFuchsia</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1ProcessMemoryFuchsia-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::ProcessMemoryFuchsia Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Accesses the memory of another Fuchsia process.  
 <a href="classcrashpad_1_1ProcessMemoryFuchsia.html#details">More...</a></p>

<p><code>#include &quot;util/process/process_memory_fuchsia.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::ProcessMemoryFuchsia:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1ProcessMemoryFuchsia.png" usemap="#crashpad::ProcessMemoryFuchsia_map" alt=""/>
  <map id="crashpad::ProcessMemoryFuchsia_map" name="crashpad::ProcessMemoryFuchsia_map">
<area href="classcrashpad_1_1ProcessMemory.html" title="Abstract base class for accessing the memory of another process." alt="crashpad::ProcessMemory" shape="rect" coords="0,0,208,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4481305773c21d993b49e84e9143f556"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryFuchsia.html#a4481305773c21d993b49e84e9143f556">Initialize</a> (const zx::process &amp;process)</td></tr>
<tr class="memdesc:a4481305773c21d993b49e84e9143f556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object to read the memory of a process by handle.  <a href="classcrashpad_1_1ProcessMemoryFuchsia.html#a4481305773c21d993b49e84e9143f556">More...</a><br /></td></tr>
<tr class="separator:a4481305773c21d993b49e84e9143f556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad94d24c3c4ee40d9166f88bd17b69d66"><td class="memItemLeft" align="right" valign="top"><a id="ad94d24c3c4ee40d9166f88bd17b69d66"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Initialize</b> (const zx::unowned_process &amp;process)</td></tr>
<tr class="separator:ad94d24c3c4ee40d9166f88bd17b69d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcrashpad_1_1ProcessMemory"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcrashpad_1_1ProcessMemory')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcrashpad_1_1ProcessMemory.html">crashpad::ProcessMemory</a></td></tr>
<tr class="memitem:a728bc3afe29c3d5bf999c614d7fbf774 inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemory.html#a728bc3afe29c3d5bf999c614d7fbf774">Read</a> (<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> address, <a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> size, void *buffer) const</td></tr>
<tr class="memdesc:a728bc3afe29c3d5bf999c614d7fbf774 inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies memory from the target process into a caller-provided buffer in the current process.  <a href="classcrashpad_1_1ProcessMemory.html#a728bc3afe29c3d5bf999c614d7fbf774">More...</a><br /></td></tr>
<tr class="separator:a728bc3afe29c3d5bf999c614d7fbf774 inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f31b6f891e7a363b4d1c30d9d7fef2b inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemory.html#a9f31b6f891e7a363b4d1c30d9d7fef2b">ReadCString</a> (<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> address, std::string *string) const</td></tr>
<tr class="memdesc:a9f31b6f891e7a363b4d1c30d9d7fef2b inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a <code>NUL</code>-terminated C string from the target process into a string in the current process.  <a href="classcrashpad_1_1ProcessMemory.html#a9f31b6f891e7a363b4d1c30d9d7fef2b">More...</a><br /></td></tr>
<tr class="separator:a9f31b6f891e7a363b4d1c30d9d7fef2b inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f7450b1e02bed80a9573338cd32d260 inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemory.html#a3f7450b1e02bed80a9573338cd32d260">ReadCStringSizeLimited</a> (<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> address, <a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> size, std::string *string) const</td></tr>
<tr class="memdesc:a3f7450b1e02bed80a9573338cd32d260 inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a <code>NUL</code>-terminated C string from the target process into a string in the current process.  <a href="classcrashpad_1_1ProcessMemory.html#a3f7450b1e02bed80a9573338cd32d260">More...</a><br /></td></tr>
<tr class="separator:a3f7450b1e02bed80a9573338cd32d260 inherit pub_methods_classcrashpad_1_1ProcessMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Accesses the memory of another Fuchsia process. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a4481305773c21d993b49e84e9143f556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4481305773c21d993b49e84e9143f556">&#9670;&nbsp;</a></span>Initialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessMemoryFuchsia::Initialize </td>
          <td>(</td>
          <td class="paramtype">const zx::process &amp;&#160;</td>
          <td class="paramname"><em>process</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes this object to read the memory of a process by handle. </p>
<p>This method must be called successfully prior to calling any other method in this class.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">process</td><td>The handle to the target process.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success, <code>false</code> on failure with a message logged. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>util/process/process_memory_fuchsia.h</li>
<li>util/process/process_memory_fuchsia.cc</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.18
</small></address>
</body>
</html>
