<!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: crashpad::ProcessMemoryRange 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.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>
<!-- 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_1ProcessMemoryRange.html">ProcessMemoryRange</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_1ProcessMemoryRange-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::ProcessMemoryRange Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Provides range protected access to the memory of another process.  
 <a href="classcrashpad_1_1ProcessMemoryRange.html#details">More...</a></p>

<p><code>#include &quot;util/process/process_memory_range.h&quot;</code></p>
<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:ab74c5da48508e04d8e51778e8815ad6a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#ab74c5da48508e04d8e51778e8815ad6a">Initialize</a> (const <a class="el" href="classcrashpad_1_1ProcessMemory.html">ProcessMemory</a> *memory, bool is_64_bit, <a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> base, <a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> size)</td></tr>
<tr class="memdesc:ab74c5da48508e04d8e51778e8815ad6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object.  <a href="#ab74c5da48508e04d8e51778e8815ad6a">More...</a><br /></td></tr>
<tr class="separator:ab74c5da48508e04d8e51778e8815ad6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4642cb32847e27d07998a6c7b0cc6cfb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#a4642cb32847e27d07998a6c7b0cc6cfb">Initialize</a> (const <a class="el" href="classcrashpad_1_1ProcessMemory.html">ProcessMemory</a> *memory, bool is_64_bit)</td></tr>
<tr class="memdesc:a4642cb32847e27d07998a6c7b0cc6cfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object with the maximum range for the address space.  <a href="#a4642cb32847e27d07998a6c7b0cc6cfb">More...</a><br /></td></tr>
<tr class="separator:a4642cb32847e27d07998a6c7b0cc6cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ffc0c7d4ae44532a8336ce1e4f7a4c9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#a5ffc0c7d4ae44532a8336ce1e4f7a4c9">Initialize</a> (const <a class="el" href="classcrashpad_1_1ProcessMemoryRange.html">ProcessMemoryRange</a> &amp;other)</td></tr>
<tr class="memdesc:a5ffc0c7d4ae44532a8336ce1e4f7a4c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object from an existing memory range.  <a href="#a5ffc0c7d4ae44532a8336ce1e4f7a4c9">More...</a><br /></td></tr>
<tr class="separator:a5ffc0c7d4ae44532a8336ce1e4f7a4c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c486d8043ce80096e4a578339d13196"><td class="memItemLeft" align="right" valign="top"><a id="a4c486d8043ce80096e4a578339d13196"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#a4c486d8043ce80096e4a578339d13196">Is64Bit</a> () const</td></tr>
<tr class="memdesc:a4c486d8043ce80096e4a578339d13196"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the range is part of a 64-bit address space. <br /></td></tr>
<tr class="separator:a4c486d8043ce80096e4a578339d13196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9360c93a9ef464197d18c342d1faab86"><td class="memItemLeft" align="right" valign="top"><a id="a9360c93a9ef464197d18c342d1faab86"></a>
<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#a9360c93a9ef464197d18c342d1faab86">Base</a> () const</td></tr>
<tr class="memdesc:a9360c93a9ef464197d18c342d1faab86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the base address of the range. <br /></td></tr>
<tr class="separator:a9360c93a9ef464197d18c342d1faab86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28346f167dd546b8c0f7a918208f6495"><td class="memItemLeft" align="right" valign="top"><a id="a28346f167dd546b8c0f7a918208f6495"></a>
<a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#a28346f167dd546b8c0f7a918208f6495">Size</a> () const</td></tr>
<tr class="memdesc:a28346f167dd546b8c0f7a918208f6495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the range. <br /></td></tr>
<tr class="separator:a28346f167dd546b8c0f7a918208f6495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dbd6d8a6d8975ac781e7b99b2153ca1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#a8dbd6d8a6d8975ac781e7b99b2153ca1">RestrictRange</a> (<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> base, <a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> size)</td></tr>
<tr class="memdesc:a8dbd6d8a6d8975ac781e7b99b2153ca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shrinks the range to the new base and size.  <a href="#a8dbd6d8a6d8975ac781e7b99b2153ca1">More...</a><br /></td></tr>
<tr class="separator:a8dbd6d8a6d8975ac781e7b99b2153ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ad438df39bf14400cb17cba96848a9e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#a8ad438df39bf14400cb17cba96848a9e">Read</a> (<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> address, size_t size, void *buffer) const</td></tr>
<tr class="memdesc:a8ad438df39bf14400cb17cba96848a9e"><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="#a8ad438df39bf14400cb17cba96848a9e">More...</a><br /></td></tr>
<tr class="separator:a8ad438df39bf14400cb17cba96848a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af41ab54e9338416ae3561325fdd6cf34"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessMemoryRange.html#af41ab54e9338416ae3561325fdd6cf34">ReadCStringSizeLimited</a> (<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> address, size_t size, std::string *string) const</td></tr>
<tr class="memdesc:af41ab54e9338416ae3561325fdd6cf34"><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="#af41ab54e9338416ae3561325fdd6cf34">More...</a><br /></td></tr>
<tr class="separator:af41ab54e9338416ae3561325fdd6cf34"><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>Provides range protected access to the memory of another process. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ab74c5da48508e04d8e51778e8815ad6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab74c5da48508e04d8e51778e8815ad6a">&#9670;&nbsp;</a></span>Initialize() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessMemoryRange::Initialize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcrashpad_1_1ProcessMemory.html">ProcessMemory</a> *&#160;</td>
          <td class="paramname"><em>memory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_64_bit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a>&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a>&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes this object. </p>
<p>One of the Initialize methods must be successfully called on this object before calling any other.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">memory</td><td>The memory reader to delegate to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">is_64_bit</td><td>Whether the target process is 64-bit. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">base</td><td>The base address of the initial range. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the initial range. </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>
<a id="a4642cb32847e27d07998a6c7b0cc6cfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4642cb32847e27d07998a6c7b0cc6cfb">&#9670;&nbsp;</a></span>Initialize() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessMemoryRange::Initialize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcrashpad_1_1ProcessMemory.html">ProcessMemory</a> *&#160;</td>
          <td class="paramname"><em>memory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_64_bit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes this object with the maximum range for the address space. </p>
<p>One of the Initialize methods must be successfully called on this object before calling any other.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">memory</td><td>The memory reader to delegate to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">is_64_bit</td><td>Whether the target process is 64-bit. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5ffc0c7d4ae44532a8336ce1e4f7a4c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ffc0c7d4ae44532a8336ce1e4f7a4c9">&#9670;&nbsp;</a></span>Initialize() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessMemoryRange::Initialize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcrashpad_1_1ProcessMemoryRange.html">ProcessMemoryRange</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes this object from an existing memory range. </p>
<p>One of the Initialize methods must be successfully called on this object before calling any other.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The memory range object to initialize from. </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>
<a id="a8ad438df39bf14400cb17cba96848a9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ad438df39bf14400cb17cba96848a9e">&#9670;&nbsp;</a></span>Read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessMemoryRange::Read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a>&#160;</td>
          <td class="paramname"><em>address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copies memory from the target process into a caller-provided buffer in the current process. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The address, in the target process' address space, of the memory region to copy. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size, in bytes, of the memory region to copy. <em>buffer</em> must be at least this size. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer into which the contents of the other process' memory will be copied.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success, with <em>buffer</em> filled appropriately. <code>false</code> on failure, with a message logged. </dd></dl>

</div>
</div>
<a id="af41ab54e9338416ae3561325fdd6cf34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af41ab54e9338416ae3561325fdd6cf34">&#9670;&nbsp;</a></span>ReadCStringSizeLimited()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessMemoryRange::ReadCStringSizeLimited </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a>&#160;</td>
          <td class="paramname"><em>address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>string</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads a <code>NUL</code>-terminated C string from the target process into a string in the current process. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The address, in the target process’s address space, of the string to copy. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The maximum number of bytes to read. The string is required to be <code>NUL</code>-terminated within this many bytes. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">string</td><td>The string read from the other process.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success, with <em>string</em> set appropriately. <code>false</code> on failure, with a message logged. Failures can occur, for example, when a <code>NUL</code> terminator is not found within <em>size</em> bytes, or when encountering unmapped or unreadable pages. </dd></dl>

</div>
</div>
<a id="a8dbd6d8a6d8975ac781e7b99b2153ca1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8dbd6d8a6d8975ac781e7b99b2153ca1">&#9670;&nbsp;</a></span>RestrictRange()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessMemoryRange::RestrictRange </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a>&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a>&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Shrinks the range to the new base and size. </p>
<p>The new range must be contained within the existing range for this object.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">base</td><td>The new base of the range. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The new size of the range. </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_range.h</li>
<li>util/process/process_memory_range.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.14
</small></address>
</body>
</html>
