<!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::internal::MemorySnapshotWin 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="namespacecrashpad_1_1internal.html">internal</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html">MemorySnapshotWin</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classcrashpad_1_1internal_1_1MemorySnapshotWin-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::internal::MemorySnapshotWin Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>A <a class="el" href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> of a memory region in a process on the running system, when the system runs Windows.  
 <a href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#details">More...</a></p>

<p><code>#include &quot;snapshot/win/memory_snapshot_win.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::internal::MemorySnapshotWin:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1internal_1_1MemorySnapshotWin.png" usemap="#crashpad::internal::MemorySnapshotWin_map" alt=""/>
  <map id="crashpad::internal::MemorySnapshotWin_map" name="crashpad::internal::MemorySnapshotWin_map">
<area href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process..." alt="crashpad::MemorySnapshot" shape="rect" coords="0,0,238,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:aba9666e3a899f90124650bce6e3dfc82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#aba9666e3a899f90124650bce6e3dfc82">Initialize</a> (<a class="el" href="classcrashpad_1_1ProcessReaderWin.html">ProcessReaderWin</a> *process_reader, uint64_t address, uint64_t size)</td></tr>
<tr class="memdesc:aba9666e3a899f90124650bce6e3dfc82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the object.  <a href="#aba9666e3a899f90124650bce6e3dfc82">More...</a><br /></td></tr>
<tr class="separator:aba9666e3a899f90124650bce6e3dfc82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fd05a6ca61b937e902bac43b03c08c7"><td class="memItemLeft" align="right" valign="top"><a id="a7fd05a6ca61b937e902bac43b03c08c7"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#a7fd05a6ca61b937e902bac43b03c08c7">Address</a> () const override</td></tr>
<tr class="memdesc:a7fd05a6ca61b937e902bac43b03c08c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base address of the memory snapshot in the snapshot process’ address space. <br /></td></tr>
<tr class="separator:a7fd05a6ca61b937e902bac43b03c08c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f30decda61769a4fefd65b4be40a831"><td class="memItemLeft" align="right" valign="top"><a id="a5f30decda61769a4fefd65b4be40a831"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#a5f30decda61769a4fefd65b4be40a831">Size</a> () const override</td></tr>
<tr class="memdesc:a5f30decda61769a4fefd65b4be40a831"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of the memory snapshot. <br /></td></tr>
<tr class="separator:a5f30decda61769a4fefd65b4be40a831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a565c0d86ca3c1a8fa3bc6ab296962de0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#a565c0d86ca3c1a8fa3bc6ab296962de0">Read</a> (<a class="el" href="classcrashpad_1_1MemorySnapshot_1_1Delegate.html">Delegate</a> *delegate) const override</td></tr>
<tr class="memdesc:a565c0d86ca3c1a8fa3bc6ab296962de0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls <a class="el" href="classcrashpad_1_1MemorySnapshot_1_1Delegate.html#a844f77076dc607ce0cd8946aea75f73b" title="Called by MemorySnapshot::Read() to provide data requested by a call to that method. ">Delegate::MemorySnapshotDelegateRead()</a>, providing it with the memory snapshot’s data.  <a href="#a565c0d86ca3c1a8fa3bc6ab296962de0">More...</a><br /></td></tr>
<tr class="separator:a565c0d86ca3c1a8fa3bc6ab296962de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a428772b426f8354320d484a3e73ba23c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#a428772b426f8354320d484a3e73ba23c">MergeWithOtherSnapshot</a> (const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> *other) const override</td></tr>
<tr class="memdesc:a428772b426f8354320d484a3e73ba23c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> based on merging this one with <em>other</em>.  <a href="#a428772b426f8354320d484a3e73ba23c">More...</a><br /></td></tr>
<tr class="separator:a428772b426f8354320d484a3e73ba23c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:af94b14421912394b031a223199cd97ae"><td class="memTemplParams" colspan="2"><a id="af94b14421912394b031a223199cd97ae"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:af94b14421912394b031a223199cd97ae"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#af94b14421912394b031a223199cd97ae">MergeWithOtherSnapshotImpl</a> (const T *self, const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> *other)</td></tr>
<tr class="memdesc:af94b14421912394b031a223199cd97ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">A standard implementation of <a class="el" href="classcrashpad_1_1MemorySnapshot.html#ac215c8c515725ac43f2bf5ec5d7a27a4" title="Creates a new MemorySnapshot based on merging this one with other. ">MemorySnapshot::MergeWithOtherSnapshot()</a> for concrete <a class="el" href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> implementations that use a <code>process_reader_</code>. <br /></td></tr>
<tr class="separator:af94b14421912394b031a223199cd97ae"><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 <a class="el" href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> of a memory region in a process on the running system, when the system runs Windows. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aba9666e3a899f90124650bce6e3dfc82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba9666e3a899f90124650bce6e3dfc82">&#9670;&nbsp;</a></span>Initialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::internal::MemorySnapshotWin::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">uint64_t&#160;</td>
          <td class="paramname"><em>address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#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 the object. </p>
<p>Memory is read lazily. No attempt is made to read the memory snapshot data until <a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#a565c0d86ca3c1a8fa3bc6ab296962de0" title="Calls Delegate::MemorySnapshotDelegateRead(), providing it with the memory snapshot’s data...">Read()</a> is called, and the memory snapshot data is discared when <a class="el" href="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#a565c0d86ca3c1a8fa3bc6ab296962de0" title="Calls Delegate::MemorySnapshotDelegateRead(), providing it with the memory snapshot’s data...">Read()</a> returns.</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 the process being snapshotted. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The base address of the memory region to snapshot, in the snapshot process' address space. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the memory region to snapshot. </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> * crashpad::internal::MemorySnapshotWin::MergeWithOtherSnapshot </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> *&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a new <a class="el" href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> based on merging this one with <em>other</em>. </p>
<p>The ranges described by the two snapshots must either overlap or abut, and must be of the same concrete type.</p>
<dl class="section return"><dt>Returns</dt><dd>A newly allocated <a class="el" href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> representing the merged range, or <code>nullptr</code> with an error logged. </dd></dl>

<p>Implements <a class="el" href="classcrashpad_1_1MemorySnapshot.html#ac215c8c515725ac43f2bf5ec5d7a27a4">crashpad::MemorySnapshot</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::internal::MemorySnapshotWin::Read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcrashpad_1_1MemorySnapshot_1_1Delegate.html">Delegate</a> *&#160;</td>
          <td class="paramname"><em>delegate</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Calls <a class="el" href="classcrashpad_1_1MemorySnapshot_1_1Delegate.html#a844f77076dc607ce0cd8946aea75f73b" title="Called by MemorySnapshot::Read() to provide data requested by a call to that method. ">Delegate::MemorySnapshotDelegateRead()</a>, providing it with the memory snapshot’s data. </p>
<p>Implementations do not necessarily read the memory snapshot data prior to this method being called. Memory snapshot data may be loaded lazily and may be discarded after being passed to the delegate. This provides clean memory management without burdening a snapshot implementation with the requirement that it track all memory region data simultaneously.</p>
<dl class="section return"><dt>Returns</dt><dd><code>false</code> on failure, otherwise, the return value of <a class="el" href="classcrashpad_1_1MemorySnapshot_1_1Delegate.html#a844f77076dc607ce0cd8946aea75f73b" title="Called by MemorySnapshot::Read() to provide data requested by a call to that method. ">Delegate::MemorySnapshotDelegateRead()</a>, which should be <code>true</code> on success and <code>false</code> on failure. </dd></dl>

<p>Implements <a class="el" href="classcrashpad_1_1MemorySnapshot.html#ad7bd3e85268e7b8d9d78e03be977ee52">crashpad::MemorySnapshot</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>snapshot/win/memory_snapshot_win.h</li>
<li>snapshot/win/memory_snapshot_win.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>
