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

<p>A wrapper for <a class="el" href="classcrashpad_1_1ProcessReaderWin.html" title="Accesses information about another process, identified by a HANDLE. ">ProcessReaderWin</a> that only allows a specific subrange to be read from.  
 <a href="classcrashpad_1_1ProcessSubrangeReader.html#details">More...</a></p>

<p><code>#include &quot;snapshot/win/process_subrange_reader.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:af553e32780f4661a07fdec8e4aafbbf3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html#af553e32780f4661a07fdec8e4aafbbf3">Initialize</a> (<a class="el" href="classcrashpad_1_1ProcessReaderWin.html">ProcessReaderWin</a> *process_reader, <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a> base, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> size, const std::string &amp;name)</td></tr>
<tr class="memdesc:af553e32780f4661a07fdec8e4aafbbf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the object.  <a href="#af553e32780f4661a07fdec8e4aafbbf3">More...</a><br /></td></tr>
<tr class="separator:af553e32780f4661a07fdec8e4aafbbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9973cac80710c00a9ef625e5b151e75f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html#a9973cac80710c00a9ef625e5b151e75f">InitializeSubrange</a> (const <a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html">ProcessSubrangeReader</a> &amp;that, <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a> base, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> size, const std::string &amp;sub_name)</td></tr>
<tr class="memdesc:a9973cac80710c00a9ef625e5b151e75f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the object to a subrange of an existing <a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html" title="A wrapper for ProcessReaderWin that only allows a specific subrange to be read from. ">ProcessSubrangeReader</a>.  <a href="#a9973cac80710c00a9ef625e5b151e75f">More...</a><br /></td></tr>
<tr class="separator:a9973cac80710c00a9ef625e5b151e75f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a292349a7046f0f54772b0223aa8d914e"><td class="memItemLeft" align="right" valign="top"><a id="a292349a7046f0f54772b0223aa8d914e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Is64Bit</b> () const</td></tr>
<tr class="separator:a292349a7046f0f54772b0223aa8d914e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e46ef329e1051cdd4be9d4e2a907071"><td class="memItemLeft" align="right" valign="top"><a id="a3e46ef329e1051cdd4be9d4e2a907071"></a>
<a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Base</b> () const</td></tr>
<tr class="separator:a3e46ef329e1051cdd4be9d4e2a907071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a194120e1bd5916a49ff971f7d28ace74"><td class="memItemLeft" align="right" valign="top"><a id="a194120e1bd5916a49ff971f7d28ace74"></a>
<a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Size</b> () const</td></tr>
<tr class="separator:a194120e1bd5916a49ff971f7d28ace74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6110102df36381e94e778defc9ce6205"><td class="memItemLeft" align="right" valign="top"><a id="a6110102df36381e94e778defc9ce6205"></a>
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>name</b> () const</td></tr>
<tr class="separator:a6110102df36381e94e778defc9ce6205"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff3db97a5a2160407c12aeca45b36544"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html#aff3db97a5a2160407c12aeca45b36544">ReadMemory</a> (<a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a> address, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> size, void *into) const</td></tr>
<tr class="memdesc:aff3db97a5a2160407c12aeca45b36544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads memory from the remote process.  <a href="#aff3db97a5a2160407c12aeca45b36544">More...</a><br /></td></tr>
<tr class="separator:aff3db97a5a2160407c12aeca45b36544"><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>A wrapper for <a class="el" href="classcrashpad_1_1ProcessReaderWin.html" title="Accesses information about another process, identified by a HANDLE. ">ProcessReaderWin</a> that only allows a specific subrange to be read from. </p>
<p>This class is useful to restrict reads to a specific address range, such as the address range occupied by a loaded module, or a specific section within a module. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="af553e32780f4661a07fdec8e4aafbbf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af553e32780f4661a07fdec8e4aafbbf3">&#9670;&nbsp;</a></span>Initialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessSubrangeReader::Initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcrashpad_1_1ProcessReaderWin.html">ProcessReaderWin</a> *&#160;</td>
          <td class="paramname"><em>process_reader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</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#a1bac9f2a189b24737e743d6690362239">WinVMSize</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">process_reader</td><td>A reader for a remote process. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">base</td><td>The base address for the range that reads should be restricted to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the range that reads should be restricted to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The range’s name, a string to be used in logged messages. This string is for diagnostic purposes.</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. The other methods in this class must not be called unless this method or <a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html#a9973cac80710c00a9ef625e5b151e75f" title="Initializes the object to a subrange of an existing ProcessSubrangeReader. ">InitializeSubrange()</a> has returned true. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessSubrangeReader::InitializeSubrange </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html">ProcessSubrangeReader</a> &amp;&#160;</td>
          <td class="paramname"><em>that</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</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#a1bac9f2a189b24737e743d6690362239">WinVMSize</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>sub_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the object to a subrange of an existing <a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html" title="A wrapper for ProcessReaderWin that only allows a specific subrange to be read from. ">ProcessSubrangeReader</a>. </p>
<p>The subrange identified by <em>base</em> and <em>size</em> must be contained within the subrange in <em>that</em>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">that</td><td>The existing <a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html" title="A wrapper for ProcessReaderWin that only allows a specific subrange to be read from. ">ProcessSubrangeReader</a> to base the new object on. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">base</td><td>The base address for the range that reads should be restricted to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the range that reads should be restricted to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sub_name</td><td>A description of the subrange, which will be appended to the <em>name</em> in <em>that</em> and used in logged messages. This string is for diagnostic purposes.</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. The other methods in this class must not be called unless this method or <a class="el" href="classcrashpad_1_1ProcessSubrangeReader.html#af553e32780f4661a07fdec8e4aafbbf3" title="Initializes the object. ">Initialize()</a> has returned true. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ProcessSubrangeReader::ReadMemory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>&#160;</td>
          <td class="paramname"><em>address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a>&#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>into</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads memory from the remote process. </p>
<p>The range specified by <em>address</em> and <em>size</em> must be contained within the range that this object is permitted to read.</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 to read from. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of data to read, in bytes. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">into</td><td>The buffer to read data into.</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>snapshot/win/process_subrange_reader.h</li>
<li>snapshot/win/process_subrange_reader.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>
