crashpad/doc/generated/doxygen/classcrashpad_1_1ProcessInfo.html
2016-11-08 14:26:59 -05:00

756 lines
47 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::ProcessInfo 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.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</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_1ProcessInfo.html">ProcessInfo</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classcrashpad_1_1ProcessInfo-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">crashpad::ProcessInfo Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Gathers information about a process given its <code>HANDLE</code>. This consists primarily of information stored in the Process Environment Block.
<a href="classcrashpad_1_1ProcessInfo.html#details">More...</a></p>
<p><code>#include &quot;util/win/process_info.h&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1ProcessInfo_1_1Handle.html">Handle</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1ProcessInfo_1_1Module.html">Module</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains information about a module loaded into a process. <a href="structcrashpad_1_1ProcessInfo_1_1Module.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a9b1bd70d4a58ec0afe0ce742f0e3fea8"><td class="memItemLeft" align="right" valign="top"><a id="a9b1bd70d4a58ec0afe0ce742f0e3fea8"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a9b1bd70d4a58ec0afe0ce742f0e3fea8">MemoryBasicInformation64Vector</a> = <a class="el" href="namespacecrashpad.html#a86fa676850a73fb41a996c8fe256c175">AlignedVector</a>&lt; MEMORY_BASIC_INFORMATION64 &gt;</td></tr>
<tr class="memdesc:a9b1bd70d4a58ec0afe0ce742f0e3fea8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The return type of <a class="el" href="classcrashpad_1_1ProcessInfo.html#ae115444d632a0a1f563edb0b4970201e" title="Retrieves information about all pages mapped into the process. ">MemoryInfo()</a>, for convenience. <br /></td></tr>
<tr class="separator:a9b1bd70d4a58ec0afe0ce742f0e3fea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a6f68198a753d9b3ec59729019c4088c5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a6f68198a753d9b3ec59729019c4088c5">Initialize</a> (pid_t pid)</td></tr>
<tr class="memdesc:a6f68198a753d9b3ec59729019c4088c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object with information about the process whose ID is <em>pid</em>. <a href="#a6f68198a753d9b3ec59729019c4088c5">More...</a><br /></td></tr>
<tr class="separator:a6f68198a753d9b3ec59729019c4088c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62fce0d331fa98e234fc1097a34bc842"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a62fce0d331fa98e234fc1097a34bc842">InitializeFromTask</a> (task_t task)</td></tr>
<tr class="memdesc:a62fce0d331fa98e234fc1097a34bc842"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object with information about a process based on its Mach task. <a href="#a62fce0d331fa98e234fc1097a34bc842">More...</a><br /></td></tr>
<tr class="separator:a62fce0d331fa98e234fc1097a34bc842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28c8d64d39c3d039282a061d5c2c72ba"><td class="memItemLeft" align="right" valign="top">pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a28c8d64d39c3d039282a061d5c2c72ba">ProcessID</a> () const</td></tr>
<tr class="separator:a28c8d64d39c3d039282a061d5c2c72ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba8e38419e93e732c3acb09fbf0115b"><td class="memItemLeft" align="right" valign="top">pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a6ba8e38419e93e732c3acb09fbf0115b">ParentProcessID</a> () const</td></tr>
<tr class="separator:a6ba8e38419e93e732c3acb09fbf0115b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6efb4c80852afd8397d5c97821227135"><td class="memItemLeft" align="right" valign="top">uid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a6efb4c80852afd8397d5c97821227135">RealUserID</a> () const</td></tr>
<tr class="separator:a6efb4c80852afd8397d5c97821227135"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6976ee393a311a2f1d0039ab9245e8fa"><td class="memItemLeft" align="right" valign="top">uid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a6976ee393a311a2f1d0039ab9245e8fa">EffectiveUserID</a> () const</td></tr>
<tr class="separator:a6976ee393a311a2f1d0039ab9245e8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9361a705e2596f9e1121953fdeb4149"><td class="memItemLeft" align="right" valign="top">uid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#ac9361a705e2596f9e1121953fdeb4149">SavedUserID</a> () const</td></tr>
<tr class="separator:ac9361a705e2596f9e1121953fdeb4149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa23a39224799341fa581b700191f7622"><td class="memItemLeft" align="right" valign="top">gid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#aa23a39224799341fa581b700191f7622">RealGroupID</a> () const</td></tr>
<tr class="separator:aa23a39224799341fa581b700191f7622"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84d62c34a205792ec1892e109d2503a5"><td class="memItemLeft" align="right" valign="top">gid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a84d62c34a205792ec1892e109d2503a5">EffectiveGroupID</a> () const</td></tr>
<tr class="separator:a84d62c34a205792ec1892e109d2503a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedeee59f072e06decbf89cadea6472cc"><td class="memItemLeft" align="right" valign="top">gid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#aedeee59f072e06decbf89cadea6472cc">SavedGroupID</a> () const</td></tr>
<tr class="separator:aedeee59f072e06decbf89cadea6472cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2740f351f520816cf26043aae984d79"><td class="memItemLeft" align="right" valign="top">std::set&lt; gid_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#ab2740f351f520816cf26043aae984d79">SupplementaryGroups</a> () const</td></tr>
<tr class="separator:ab2740f351f520816cf26043aae984d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac73b5ef09bc6cf3d22ca4a9d8e54d001"><td class="memItemLeft" align="right" valign="top">std::set&lt; gid_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#ac73b5ef09bc6cf3d22ca4a9d8e54d001">AllGroups</a> () const</td></tr>
<tr class="separator:ac73b5ef09bc6cf3d22ca4a9d8e54d001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a40f720591eb2117a260b5faad78c9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a38a40f720591eb2117a260b5faad78c9">DidChangePrivileges</a> () const</td></tr>
<tr class="memdesc:a38a40f720591eb2117a260b5faad78c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the target process has changed privileges. <a href="#a38a40f720591eb2117a260b5faad78c9">More...</a><br /></td></tr>
<tr class="separator:a38a40f720591eb2117a260b5faad78c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aded0c4c25b2bed09a9f4c4a605eb3f8d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#aded0c4c25b2bed09a9f4c4a605eb3f8d">Is64Bit</a> () const</td></tr>
<tr class="separator:aded0c4c25b2bed09a9f4c4a605eb3f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadb935e296ca5d21969d20f60a87ffc1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#aadb935e296ca5d21969d20f60a87ffc1">StartTime</a> (timeval *start_time) const</td></tr>
<tr class="memdesc:aadb935e296ca5d21969d20f60a87ffc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the target process start time. <a href="#aadb935e296ca5d21969d20f60a87ffc1">More...</a><br /></td></tr>
<tr class="separator:aadb935e296ca5d21969d20f60a87ffc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a572fd9290bf46c4ba287df5278c2a61a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a572fd9290bf46c4ba287df5278c2a61a">Arguments</a> (std::vector&lt; std::string &gt; *argv) const</td></tr>
<tr class="memdesc:a572fd9290bf46c4ba287df5278c2a61a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtains the arguments used to launch a process. <a href="#a572fd9290bf46c4ba287df5278c2a61a">More...</a><br /></td></tr>
<tr class="separator:a572fd9290bf46c4ba287df5278c2a61a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b8cae2f57a4a47cd37b6b1c7d33f64d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a6b8cae2f57a4a47cd37b6b1c7d33f64d">Initialize</a> (HANDLE process)</td></tr>
<tr class="memdesc:a6b8cae2f57a4a47cd37b6b1c7d33f64d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object with information about the given <em>process</em>. <a href="#a6b8cae2f57a4a47cd37b6b1c7d33f64d">More...</a><br /></td></tr>
<tr class="separator:a6b8cae2f57a4a47cd37b6b1c7d33f64d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aded0c4c25b2bed09a9f4c4a605eb3f8d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#aded0c4c25b2bed09a9f4c4a605eb3f8d">Is64Bit</a> () const</td></tr>
<tr class="separator:aded0c4c25b2bed09a9f4c4a605eb3f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18d91f09f37797c7d7d7f455c69f6259"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a18d91f09f37797c7d7d7f455c69f6259">IsWow64</a> () const</td></tr>
<tr class="separator:a18d91f09f37797c7d7d7f455c69f6259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28c8d64d39c3d039282a061d5c2c72ba"><td class="memItemLeft" align="right" valign="top">pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a28c8d64d39c3d039282a061d5c2c72ba">ProcessID</a> () const</td></tr>
<tr class="separator:a28c8d64d39c3d039282a061d5c2c72ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba8e38419e93e732c3acb09fbf0115b"><td class="memItemLeft" align="right" valign="top">pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a6ba8e38419e93e732c3acb09fbf0115b">ParentProcessID</a> () const</td></tr>
<tr class="separator:a6ba8e38419e93e732c3acb09fbf0115b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b9ccd5a15146523413f9561d6c9290d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a8b9ccd5a15146523413f9561d6c9290d">CommandLine</a> (std::wstring *command_line) const</td></tr>
<tr class="separator:a8b9ccd5a15146523413f9561d6c9290d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa34b5253c1d918944458a753c2819dfb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#aa34b5253c1d918944458a753c2819dfb">Peb</a> (<a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a> *peb_address, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> *peb_size) const</td></tr>
<tr class="memdesc:aa34b5253c1d918944458a753c2819dfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the address and size of the process's Process Environment Block. <a href="#aa34b5253c1d918944458a753c2819dfb">More...</a><br /></td></tr>
<tr class="separator:aa34b5253c1d918944458a753c2819dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a894a4affb8c63f2d0ae1e9922007c8be"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a894a4affb8c63f2d0ae1e9922007c8be">Modules</a> (std::vector&lt; <a class="el" href="structcrashpad_1_1ProcessInfo_1_1Module.html">Module</a> &gt; *modules) const</td></tr>
<tr class="memdesc:a894a4affb8c63f2d0ae1e9922007c8be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the modules loaded into the target process. <a href="#a894a4affb8c63f2d0ae1e9922007c8be">More...</a><br /></td></tr>
<tr class="separator:a894a4affb8c63f2d0ae1e9922007c8be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae115444d632a0a1f563edb0b4970201e"><td class="memItemLeft" align="right" valign="top"><a id="ae115444d632a0a1f563edb0b4970201e"></a>
const <a class="el" href="classcrashpad_1_1ProcessInfo.html#a9b1bd70d4a58ec0afe0ce742f0e3fea8">MemoryBasicInformation64Vector</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#ae115444d632a0a1f563edb0b4970201e">MemoryInfo</a> () const</td></tr>
<tr class="memdesc:ae115444d632a0a1f563edb0b4970201e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves information about all pages mapped into the process. <br /></td></tr>
<tr class="separator:ae115444d632a0a1f563edb0b4970201e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96ddc54651cdea815f8f88a5ae00f0ab"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classcrashpad_1_1CheckedRange.html">CheckedRange</a>&lt; <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a96ddc54651cdea815f8f88a5ae00f0ab">GetReadableRanges</a> (const <a class="el" href="classcrashpad_1_1CheckedRange.html">CheckedRange</a>&lt; <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> &gt; &amp;range) const</td></tr>
<tr class="memdesc:a96ddc54651cdea815f8f88a5ae00f0ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a range to be read from the target process, returns a vector of ranges, representing the readable portions of the original range. <a href="#a96ddc54651cdea815f8f88a5ae00f0ab">More...</a><br /></td></tr>
<tr class="separator:a96ddc54651cdea815f8f88a5ae00f0ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9ac196dd7a93c528fdc2315f825e877"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#ab9ac196dd7a93c528fdc2315f825e877">LoggingRangeIsFullyReadable</a> (const <a class="el" href="classcrashpad_1_1CheckedRange.html">CheckedRange</a>&lt; <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> &gt; &amp;range) const</td></tr>
<tr class="memdesc:ab9ac196dd7a93c528fdc2315f825e877"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a range in the target process, determines if the entire range is readable. <a href="#ab9ac196dd7a93c528fdc2315f825e877">More...</a><br /></td></tr>
<tr class="separator:ab9ac196dd7a93c528fdc2315f825e877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51acf068bb94b25b44189cd6e1adfcf8"><td class="memItemLeft" align="right" valign="top"><a id="a51acf068bb94b25b44189cd6e1adfcf8"></a>
const std::vector&lt; <a class="el" href="structcrashpad_1_1ProcessInfo_1_1Handle.html">Handle</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessInfo.html#a51acf068bb94b25b44189cd6e1adfcf8">Handles</a> () const</td></tr>
<tr class="memdesc:a51acf068bb94b25b44189cd6e1adfcf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves information about open handles in the target process. <br /></td></tr>
<tr class="separator:a51acf068bb94b25b44189cd6e1adfcf8"><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:a48b83924d7d56682f700c5480917e029"><td class="memTemplParams" colspan="2"><a id="a48b83924d7d56682f700c5480917e029"></a>
template&lt;class Traits &gt; </td></tr>
<tr class="memitem:a48b83924d7d56682f700c5480917e029"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GetProcessBasicInformation</b> (HANDLE process, bool is_wow64, <a class="el" href="classcrashpad_1_1ProcessInfo.html">ProcessInfo</a> *process_info, <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a> *peb_address, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> *peb_size)</td></tr>
<tr class="separator:a48b83924d7d56682f700c5480917e029"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b82ca93e18fa152342a00f4ed9ecc3d"><td class="memTemplParams" colspan="2"><a id="a1b82ca93e18fa152342a00f4ed9ecc3d"></a>
template&lt;class Traits &gt; </td></tr>
<tr class="memitem:a1b82ca93e18fa152342a00f4ed9ecc3d"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ReadProcessData</b> (HANDLE process, <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a> peb_address_vmaddr, <a class="el" href="classcrashpad_1_1ProcessInfo.html">ProcessInfo</a> *process_info)</td></tr>
<tr class="separator:a1b82ca93e18fa152342a00f4ed9ecc3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68c986198898dfed5e7676485b06c845"><td class="memItemLeft" align="right" valign="top"><a id="a68c986198898dfed5e7676485b06c845"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>ReadMemoryInfo</b> (HANDLE process, bool is_64_bit, <a class="el" href="classcrashpad_1_1ProcessInfo.html">ProcessInfo</a> *process_info)</td></tr>
<tr class="separator:a68c986198898dfed5e7676485b06c845"><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>Gathers information about a process given its <code>HANDLE</code>. This consists primarily of information stored in the Process Environment Block. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ac73b5ef09bc6cf3d22ca4a9d8e54d001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac73b5ef09bc6cf3d22ca4a9d8e54d001">&sect;&nbsp;</a></span>AllGroups()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::set&lt; gid_t &gt; crashpad::ProcessInfo::AllGroups </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>All groups that the target process claims membership in, including <a class="el" href="classcrashpad_1_1ProcessInfo.html#aa23a39224799341fa581b700191f7622">RealGroupID()</a>, <a class="el" href="classcrashpad_1_1ProcessInfo.html#a84d62c34a205792ec1892e109d2503a5">EffectiveGroupID()</a>, <a class="el" href="classcrashpad_1_1ProcessInfo.html#aedeee59f072e06decbf89cadea6472cc">SavedGroupID()</a>, and <a class="el" href="classcrashpad_1_1ProcessInfo.html#ab2740f351f520816cf26043aae984d79">SupplementaryGroups()</a>. </dd></dl>
</div>
</div>
<a id="a572fd9290bf46c4ba287df5278c2a61a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a572fd9290bf46c4ba287df5278c2a61a">&sect;&nbsp;</a></span>Arguments()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::Arguments </td>
<td>(</td>
<td class="paramtype">std::vector&lt; std::string &gt; *&#160;</td>
<td class="paramname"><em>argv</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Obtains the arguments used to launch a process. </p>
<p>Whether it is possible to obtain this information for a process with different privileges than the running program is system-dependent.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">argv</td><td>The process arguments as passed to its <code>main()</code> function as the <em>argv</em> parameter, possibly modified by the process.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success, with <em>argv</em> populated appropriately. Otherwise, <code>false</code> with a message logged.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function may spuriously return <code>false</code> when used to examine a process that it is calling <code>exec()</code>. If examining such a process, call this function in a retry loop with a small (100ns) delay to avoid an erroneous assumption that <em>pid</em> is not running. </dd></dl>
</div>
</div>
<a id="a8b9ccd5a15146523413f9561d6c9290d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b9ccd5a15146523413f9561d6c9290d">&sect;&nbsp;</a></span>CommandLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::CommandLine </td>
<td>(</td>
<td class="paramtype">std::wstring *&#160;</td>
<td class="paramname"><em>command_line</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The command line from the target process's Process Environment Block. </dd></dl>
</div>
</div>
<a id="a38a40f720591eb2117a260b5faad78c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38a40f720591eb2117a260b5faad78c9">&sect;&nbsp;</a></span>DidChangePrivileges()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::DidChangePrivileges </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines whether the target process has changed privileges. </p>
<p>A process is considered to have changed privileges if it has changed its real, effective, or saved set-user or group IDs with the <code>setuid()</code>, <code>seteuid()</code>, <code>setreuid()</code>, <code>setgid()</code>, <code>setegid()</code>, or <code>setregid()</code> system calls since its most recent <code>execve()</code>, or if its privileges changed at <code>execve()</code> as a result of executing a setuid or setgid executable. </p>
</div>
</div>
<a id="a84d62c34a205792ec1892e109d2503a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84d62c34a205792ec1892e109d2503a5">&sect;&nbsp;</a></span>EffectiveGroupID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">gid_t crashpad::ProcessInfo::EffectiveGroupID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the target process effective group ID as would be returned to it by <code>getegid()</code>. </dd></dl>
</div>
</div>
<a id="a6976ee393a311a2f1d0039ab9245e8fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6976ee393a311a2f1d0039ab9245e8fa">&sect;&nbsp;</a></span>EffectiveUserID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uid_t crashpad::ProcessInfo::EffectiveUserID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target process effective user ID as would be returned to it by <code>geteuid()</code>. </dd></dl>
</div>
</div>
<a id="a96ddc54651cdea815f8f88a5ae00f0ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96ddc54651cdea815f8f88a5ae00f0ab">&sect;&nbsp;</a></span>GetReadableRanges()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="classcrashpad_1_1CheckedRange.html">CheckedRange</a>&lt; <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> &gt; &gt; crashpad::ProcessInfo::GetReadableRanges </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcrashpad_1_1CheckedRange.html">CheckedRange</a>&lt; <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>range</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Given a range to be read from the target process, returns a vector of ranges, representing the readable portions of the original range. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">range</td><td>The range being identified.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A vector of ranges corresponding to the portion of <em>range</em> that is readable based on the memory map. </dd></dl>
</div>
</div>
<a id="a6f68198a753d9b3ec59729019c4088c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f68198a753d9b3ec59729019c4088c5">&sect;&nbsp;</a></span>Initialize() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::Initialize </td>
<td>(</td>
<td class="paramtype">pid_t&#160;</td>
<td class="paramname"><em>pid</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes this object with information about the process whose ID is <em>pid</em>. </p>
<p>This method must be called successfully prior to calling any other method in this class. This method may only be called once.</p>
<p>It is unspecified whether the information that an object of this class returns is loaded at the time <a class="el" href="classcrashpad_1_1ProcessInfo.html#a6f68198a753d9b3ec59729019c4088c5" title="Initializes this object with information about the process whose ID is pid. ">Initialize()</a> is called or subsequently, and whether this information is cached in the object or not.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pid</td><td>The process ID to obtain information for.</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="a6b8cae2f57a4a47cd37b6b1c7d33f64d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b8cae2f57a4a47cd37b6b1c7d33f64d">&sect;&nbsp;</a></span>Initialize() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::Initialize </td>
<td>(</td>
<td class="paramtype">HANDLE&#160;</td>
<td class="paramname"><em>process</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes this object with information about the given <em>process</em>. </p>
<p>This method must be called successfully prior to calling any other method in this class. This method may only be called once.</p>
<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="a62fce0d331fa98e234fc1097a34bc842"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62fce0d331fa98e234fc1097a34bc842">&sect;&nbsp;</a></span>InitializeFromTask()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::InitializeFromTask </td>
<td>(</td>
<td class="paramtype">task_t&#160;</td>
<td class="paramname"><em>task</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes this object with information about a process based on its Mach task. </p>
<p>This method serves as a stand-in for <a class="el" href="classcrashpad_1_1ProcessInfo.html#a6f68198a753d9b3ec59729019c4088c5" title="Initializes this object with information about the process whose ID is pid. ">Initialize()</a> and may be called in its place with the same restrictions and considerations.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">task</td><td>The Mach task to obtain information for.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success, <code>false</code> on failure with an message logged. </dd></dl>
</div>
</div>
<a id="aded0c4c25b2bed09a9f4c4a605eb3f8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aded0c4c25b2bed09a9f4c4a605eb3f8d">&sect;&nbsp;</a></span>Is64Bit() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::Is64Bit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the target process is a 64-bit process. </dd></dl>
</div>
</div>
<a id="aded0c4c25b2bed09a9f4c4a605eb3f8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aded0c4c25b2bed09a9f4c4a605eb3f8d">&sect;&nbsp;</a></span>Is64Bit() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::Is64Bit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the target task is a 64-bit process. </dd></dl>
</div>
</div>
<a id="a18d91f09f37797c7d7d7f455c69f6259"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18d91f09f37797c7d7d7f455c69f6259">&sect;&nbsp;</a></span>IsWow64()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::IsWow64 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the target process is running on the Win32-on-Win64 subsystem. </dd></dl>
</div>
</div>
<a id="ab9ac196dd7a93c528fdc2315f825e877"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9ac196dd7a93c528fdc2315f825e877">&sect;&nbsp;</a></span>LoggingRangeIsFullyReadable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::LoggingRangeIsFullyReadable </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcrashpad_1_1CheckedRange.html">CheckedRange</a>&lt; <a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a>, <a class="el" href="namespacecrashpad.html#a1bac9f2a189b24737e743d6690362239">WinVMSize</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>range</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Given a range in the target process, determines if the entire range is readable. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">range</td><td>The range being inspected.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the range is fully readable, otherwise <code>false</code> with a message logged. </dd></dl>
</div>
</div>
<a id="a894a4affb8c63f2d0ae1e9922007c8be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a894a4affb8c63f2d0ae1e9922007c8be">&sect;&nbsp;</a></span>Modules()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessInfo::Modules </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="structcrashpad_1_1ProcessInfo_1_1Module.html">Module</a> &gt; *&#160;</td>
<td class="paramname"><em>modules</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the modules loaded into the target process. </p>
<p>The modules are enumerated in initialization order as detailed in the Process Environment Block. The main executable will always be the first element. </p>
</div>
</div>
<a id="a6ba8e38419e93e732c3acb09fbf0115b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ba8e38419e93e732c3acb09fbf0115b">&sect;&nbsp;</a></span>ParentProcessID() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pid_t crashpad::ProcessInfo::ParentProcessID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target tasks parent process ID. </dd></dl>
</div>
</div>
<a id="a6ba8e38419e93e732c3acb09fbf0115b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ba8e38419e93e732c3acb09fbf0115b">&sect;&nbsp;</a></span>ParentProcessID() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pid_t crashpad::ProcessInfo::ParentProcessID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target process's parent process ID. </dd></dl>
</div>
</div>
<a id="aa34b5253c1d918944458a753c2819dfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa34b5253c1d918944458a753c2819dfb">&sect;&nbsp;</a></span>Peb()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void crashpad::ProcessInfo::Peb </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacecrashpad.html#a368af6d88f68998b5c5eb80b8f6ebb76">WinVMAddress</a> *&#160;</td>
<td class="paramname"><em>peb_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>peb_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the address and size of the process's Process Environment Block. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">peb_address</td><td>The address of the Process Environment Block. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">peb_size</td><td>The size of the Process Environment Block. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a28c8d64d39c3d039282a061d5c2c72ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28c8d64d39c3d039282a061d5c2c72ba">&sect;&nbsp;</a></span>ProcessID() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pid_t crashpad::ProcessInfo::ProcessID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target tasks process ID. </dd></dl>
</div>
</div>
<a id="a28c8d64d39c3d039282a061d5c2c72ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28c8d64d39c3d039282a061d5c2c72ba">&sect;&nbsp;</a></span>ProcessID() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pid_t crashpad::ProcessInfo::ProcessID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target process's process ID. </dd></dl>
</div>
</div>
<a id="aa23a39224799341fa581b700191f7622"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa23a39224799341fa581b700191f7622">&sect;&nbsp;</a></span>RealGroupID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">gid_t crashpad::ProcessInfo::RealGroupID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the target process real group ID as would be returned to it by <code>getgid()</code>. </dd></dl>
</div>
</div>
<a id="a6efb4c80852afd8397d5c97821227135"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6efb4c80852afd8397d5c97821227135">&sect;&nbsp;</a></span>RealUserID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uid_t crashpad::ProcessInfo::RealUserID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target process real user ID as would be returned to it by <code>getuid()</code>. </dd></dl>
</div>
</div>
<a id="aedeee59f072e06decbf89cadea6472cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedeee59f072e06decbf89cadea6472cc">&sect;&nbsp;</a></span>SavedGroupID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">gid_t crashpad::ProcessInfo::SavedGroupID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target process saved set-group ID. </dd></dl>
</div>
</div>
<a id="ac9361a705e2596f9e1121953fdeb4149"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9361a705e2596f9e1121953fdeb4149">&sect;&nbsp;</a></span>SavedUserID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uid_t crashpad::ProcessInfo::SavedUserID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target process saved set-user ID. </dd></dl>
</div>
</div>
<a id="aadb935e296ca5d21969d20f60a87ffc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadb935e296ca5d21969d20f60a87ffc1">&sect;&nbsp;</a></span>StartTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void crashpad::ProcessInfo::StartTime </td>
<td>(</td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>start_time</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines the target process start time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">start_time</td><td>The time that the process started. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab2740f351f520816cf26043aae984d79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2740f351f520816cf26043aae984d79">&sect;&nbsp;</a></span>SupplementaryGroups()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::set&lt; gid_t &gt; crashpad::ProcessInfo::SupplementaryGroups </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the target process supplementary group list as would be returned to it by <code>getgroups()</code>. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>util/posix/process_info.h</li>
<li>util/posix/process_info_mac.cc</li>
<li>util/win/process_info.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.12
</small></address>
</body>
</html>