<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: MINIDUMP_MISC_INFO_4 Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structMINIDUMP__MISC__INFO__4-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">MINIDUMP_MISC_INFO_4 Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Information about the process that the minidump file contains a snapshot of, as well as the system that hosted that process.  
 <a href="structMINIDUMP__MISC__INFO__4.html#details">More...</a></p>

<p><code>#include &quot;dbghelp.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for MINIDUMP_MISC_INFO_4:</div>
<div class="dyncontent">
 <div class="center">
  <img src="structMINIDUMP__MISC__INFO__4.png" usemap="#MINIDUMP_5FMISC_5FINFO_5F4_map" alt=""/>
  <map id="MINIDUMP_5FMISC_5FINFO_5F4_map" name="MINIDUMP_5FMISC_5FINFO_5F4_map">
<area href="structMINIDUMP__MISC__INFO__3.html" title="Information about the process that the minidump file contains a snapshot of, as well as the system th..." alt="MINIDUMP_MISC_INFO_3" shape="rect" coords="0,112,163,136"/>
<area href="structMINIDUMP__MISC__INFO__2.html" title="Information about the process that the minidump file contains a snapshot of, as well as the system th..." alt="MINIDUMP_MISC_INFO_2" shape="rect" coords="0,56,163,80"/>
<area href="structMINIDUMP__MISC__INFO.html" title="Information about the process that the minidump file contains a snapshot of, as well as the system th..." alt="MINIDUMP_MISC_INFO" shape="rect" coords="0,0,163,24"/>
<area href="structMINIDUMP__MISC__INFO__5.html" title="Information about the process that the minidump file contains a snapshot of, as well as the system th..." alt="MINIDUMP_MISC_INFO_5" shape="rect" coords="0,224,163,248"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a22ccb40896084aced8a3c780a927456f"><td class="memItemLeft" align="right" valign="top">base::char16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__4.html#a22ccb40896084aced8a3c780a927456f">BuildString</a> [260]</td></tr>
<tr class="memdesc:a22ccb40896084aced8a3c780a927456f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The operating system’s “build string”, a string identifying a specific build of the operating system.  <a href="structMINIDUMP__MISC__INFO__4.html#a22ccb40896084aced8a3c780a927456f">More...</a><br /></td></tr>
<tr class="separator:a22ccb40896084aced8a3c780a927456f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75b120e8a596ddc38c414a317da33132"><td class="memItemLeft" align="right" valign="top">base::char16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__4.html#a75b120e8a596ddc38c414a317da33132">DbgBldStr</a> [40]</td></tr>
<tr class="memdesc:a75b120e8a596ddc38c414a317da33132"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minidump producer’s “build string”, a string identifying the module that produced a minidump file.  <a href="structMINIDUMP__MISC__INFO__4.html#a75b120e8a596ddc38c414a317da33132">More...</a><br /></td></tr>
<tr class="separator:a75b120e8a596ddc38c414a317da33132"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structMINIDUMP__MISC__INFO__3"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structMINIDUMP__MISC__INFO__3')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="structMINIDUMP__MISC__INFO__3.html">MINIDUMP_MISC_INFO_3</a></td></tr>
<tr class="memitem:a89afc34c4cddef0b2805cade8ddfec8a inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__3.html#a89afc34c4cddef0b2805cade8ddfec8a">ProcessIntegrityLevel</a></td></tr>
<tr class="memdesc:a89afc34c4cddef0b2805cade8ddfec8a inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The process’ integrity level.  <a href="structMINIDUMP__MISC__INFO__3.html#a89afc34c4cddef0b2805cade8ddfec8a">More...</a><br /></td></tr>
<tr class="separator:a89afc34c4cddef0b2805cade8ddfec8a inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae21da96b80d94a7055e07bfacd938dd7 inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__3.html#ae21da96b80d94a7055e07bfacd938dd7">ProcessExecuteFlags</a></td></tr>
<tr class="memdesc:ae21da96b80d94a7055e07bfacd938dd7 inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The process’ execute flags.  <a href="structMINIDUMP__MISC__INFO__3.html#ae21da96b80d94a7055e07bfacd938dd7">More...</a><br /></td></tr>
<tr class="separator:ae21da96b80d94a7055e07bfacd938dd7 inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a180d9ee433f89f02da0436376ec633aa inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__3.html#a180d9ee433f89f02da0436376ec633aa">ProtectedProcess</a></td></tr>
<tr class="memdesc:a180d9ee433f89f02da0436376ec633aa inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the process is protected.  <a href="structMINIDUMP__MISC__INFO__3.html#a180d9ee433f89f02da0436376ec633aa">More...</a><br /></td></tr>
<tr class="separator:a180d9ee433f89f02da0436376ec633aa inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65b9873189c3dad3f692b6792771f27b inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__3.html#a65b9873189c3dad3f692b6792771f27b">TimeZoneId</a></td></tr>
<tr class="memdesc:a65b9873189c3dad3f692b6792771f27b inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether daylight saving time was being observed in the system’s location at the time of the snapshot.  <a href="structMINIDUMP__MISC__INFO__3.html#a65b9873189c3dad3f692b6792771f27b">More...</a><br /></td></tr>
<tr class="separator:a65b9873189c3dad3f692b6792771f27b inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed5a62e4763420e86a7477138f85f23d inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structTIME__ZONE__INFORMATION.html">TIME_ZONE_INFORMATION</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__3.html#aed5a62e4763420e86a7477138f85f23d">TimeZone</a></td></tr>
<tr class="memdesc:aed5a62e4763420e86a7477138f85f23d inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about the time zone at the system’s location.  <a href="structMINIDUMP__MISC__INFO__3.html#aed5a62e4763420e86a7477138f85f23d">More...</a><br /></td></tr>
<tr class="separator:aed5a62e4763420e86a7477138f85f23d inherit pub_attribs_structMINIDUMP__MISC__INFO__3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structMINIDUMP__MISC__INFO__2"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structMINIDUMP__MISC__INFO__2')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="structMINIDUMP__MISC__INFO__2.html">MINIDUMP_MISC_INFO_2</a></td></tr>
<tr class="memitem:abe3f73555332843822bdecfe2e1b0f72 inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memItemLeft" align="right" valign="top"><a id="abe3f73555332843822bdecfe2e1b0f72"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__2.html#abe3f73555332843822bdecfe2e1b0f72">ProcessorMaxMhz</a></td></tr>
<tr class="memdesc:abe3f73555332843822bdecfe2e1b0f72 inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum clock rate of the system’s CPU or CPUs, in MHz. <br /></td></tr>
<tr class="separator:abe3f73555332843822bdecfe2e1b0f72 inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac089cb96ec41ddaae77f695e778ccd4e inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memItemLeft" align="right" valign="top"><a id="ac089cb96ec41ddaae77f695e778ccd4e"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__2.html#ac089cb96ec41ddaae77f695e778ccd4e">ProcessorCurrentMhz</a></td></tr>
<tr class="memdesc:ac089cb96ec41ddaae77f695e778ccd4e inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The clock rate of the system’s CPU or CPUs, in MHz, at the time of the snapshot. <br /></td></tr>
<tr class="separator:ac089cb96ec41ddaae77f695e778ccd4e inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad78d810e9b5b5f221c3020644719170 inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memItemLeft" align="right" valign="top"><a id="aad78d810e9b5b5f221c3020644719170"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__2.html#aad78d810e9b5b5f221c3020644719170">ProcessorMhzLimit</a></td></tr>
<tr class="memdesc:aad78d810e9b5b5f221c3020644719170 inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum clock rate of the system’s CPU or CPUs, in MHz, reduced by any thermal limitations, at the time of the snapshot. <br /></td></tr>
<tr class="separator:aad78d810e9b5b5f221c3020644719170 inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdf9cf42282383da25e75843aeb6d57a inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memItemLeft" align="right" valign="top"><a id="abdf9cf42282383da25e75843aeb6d57a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__2.html#abdf9cf42282383da25e75843aeb6d57a">ProcessorMaxIdleState</a></td></tr>
<tr class="memdesc:abdf9cf42282383da25e75843aeb6d57a inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum idle state of the system’s CPU or CPUs. <br /></td></tr>
<tr class="separator:abdf9cf42282383da25e75843aeb6d57a inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0761af6e927eed895b7a75613fb6c6ee inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memItemLeft" align="right" valign="top"><a id="a0761af6e927eed895b7a75613fb6c6ee"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO__2.html#a0761af6e927eed895b7a75613fb6c6ee">ProcessorCurrentIdleState</a></td></tr>
<tr class="memdesc:a0761af6e927eed895b7a75613fb6c6ee inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The idle state of the system’s CPU or CPUs at the time of the snapshot. <br /></td></tr>
<tr class="separator:a0761af6e927eed895b7a75613fb6c6ee inherit pub_attribs_structMINIDUMP__MISC__INFO__2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structMINIDUMP__MISC__INFO"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structMINIDUMP__MISC__INFO')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="structMINIDUMP__MISC__INFO.html">MINIDUMP_MISC_INFO</a></td></tr>
<tr class="memitem:aae8fc8a4f276d8e6d51d0caa1355cd51 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO.html#aae8fc8a4f276d8e6d51d0caa1355cd51">SizeOfInfo</a></td></tr>
<tr class="memdesc:aae8fc8a4f276d8e6d51d0caa1355cd51 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of the structure.  <a href="structMINIDUMP__MISC__INFO.html#aae8fc8a4f276d8e6d51d0caa1355cd51">More...</a><br /></td></tr>
<tr class="separator:aae8fc8a4f276d8e6d51d0caa1355cd51 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1c8ca04b2a85e2070e1b43b26d26e47 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memItemLeft" align="right" valign="top"><a id="ac1c8ca04b2a85e2070e1b43b26d26e47"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO.html#ac1c8ca04b2a85e2070e1b43b26d26e47">Flags1</a></td></tr>
<tr class="memdesc:ac1c8ca04b2a85e2070e1b43b26d26e47 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="mdescLeft">&#160;</td><td class="mdescRight">A bit field of <a class="el" href="dbghelp_8h.html#MINIDUMP_MISCx">MINIDUMP_MISC*</a> values indicating which fields of this structure contain valid data. <br /></td></tr>
<tr class="separator:ac1c8ca04b2a85e2070e1b43b26d26e47 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f4a981f916984b74c6ad7d308915e4f inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memItemLeft" align="right" valign="top"><a id="a6f4a981f916984b74c6ad7d308915e4f"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO.html#a6f4a981f916984b74c6ad7d308915e4f">ProcessId</a></td></tr>
<tr class="memdesc:a6f4a981f916984b74c6ad7d308915e4f inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="mdescLeft">&#160;</td><td class="mdescRight">The process ID of the process. <br /></td></tr>
<tr class="separator:a6f4a981f916984b74c6ad7d308915e4f inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13779264ab943d939c2635717cd3f46c inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memItemLeft" align="right" valign="top"><a id="a13779264ab943d939c2635717cd3f46c"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO.html#a13779264ab943d939c2635717cd3f46c">ProcessCreateTime</a></td></tr>
<tr class="memdesc:a13779264ab943d939c2635717cd3f46c inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="mdescLeft">&#160;</td><td class="mdescRight">The time that the process started, in <code>time_t</code> units, seconds since the POSIX epoch. <br /></td></tr>
<tr class="separator:a13779264ab943d939c2635717cd3f46c inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9e246388e6414c14edaf23873cfb8e7 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memItemLeft" align="right" valign="top"><a id="ab9e246388e6414c14edaf23873cfb8e7"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO.html#ab9e246388e6414c14edaf23873cfb8e7">ProcessUserTime</a></td></tr>
<tr class="memdesc:ab9e246388e6414c14edaf23873cfb8e7 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="mdescLeft">&#160;</td><td class="mdescRight">The amount of user-mode CPU time used by the process, in seconds, at the time of the snapshot. <br /></td></tr>
<tr class="separator:ab9e246388e6414c14edaf23873cfb8e7 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a1a98c7fde6ef85db1c1462047b59d0 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="memItemLeft" align="right" valign="top"><a id="a1a1a98c7fde6ef85db1c1462047b59d0"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMINIDUMP__MISC__INFO.html#a1a1a98c7fde6ef85db1c1462047b59d0">ProcessKernelTime</a></td></tr>
<tr class="memdesc:a1a1a98c7fde6ef85db1c1462047b59d0 inherit pub_attribs_structMINIDUMP__MISC__INFO"><td class="mdescLeft">&#160;</td><td class="mdescRight">The amount of system-mode (kernel) CPU time used by the process, in seconds, at the time of the snapshot. <br /></td></tr>
<tr class="separator:a1a1a98c7fde6ef85db1c1462047b59d0 inherit pub_attribs_structMINIDUMP__MISC__INFO"><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>Information about the process that the minidump file contains a snapshot of, as well as the system that hosted that process. </p>
<p>This structure variant is used on Windows 8 (NT 6.2) and later.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="dbghelp_8h.html#MINIDUMP_MISCx">MINIDUMP_MISC*</a> </dd>
<dd>
<a class="el" href="structMINIDUMP__MISC__INFO.html" title="Information about the process that the minidump file contains a snapshot of, as well as the system th...">MINIDUMP_MISC_INFO</a> </dd>
<dd>
<a class="el" href="structMINIDUMP__MISC__INFO__2.html" title="Information about the process that the minidump file contains a snapshot of, as well as the system th...">MINIDUMP_MISC_INFO_2</a> </dd>
<dd>
<a class="el" href="structMINIDUMP__MISC__INFO__3.html" title="Information about the process that the minidump file contains a snapshot of, as well as the system th...">MINIDUMP_MISC_INFO_3</a> </dd>
<dd>
<a class="el" href="structMINIDUMP__MISC__INFO__5.html" title="Information about the process that the minidump file contains a snapshot of, as well as the system th...">MINIDUMP_MISC_INFO_5</a> </dd>
<dd>
<a class="el" href="dbghelp_8h.html#acfc1d366cfe597920b92c93bdffec284" title="The latest known version of the MINIDUMP_MISC_INFO structure.">MINIDUMP_MISC_INFO_N</a> </dd></dl>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a22ccb40896084aced8a3c780a927456f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22ccb40896084aced8a3c780a927456f">&#9670;&nbsp;</a></span>BuildString</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">base::char16 MINIDUMP_MISC_INFO_4::BuildString[260]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The operating system’s “build string”, a string identifying a specific build of the operating system. </p>
<p>This string is UTF-16-encoded and terminated by a UTF-16 <code>NUL</code> code unit.</p>
<p>On Windows 8.1 (NT 6.3), this is “6.3.9600.17031 (winblue_gdr.140221-1952)”. </p>

</div>
</div>
<a id="a75b120e8a596ddc38c414a317da33132"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75b120e8a596ddc38c414a317da33132">&#9670;&nbsp;</a></span>DbgBldStr</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">base::char16 MINIDUMP_MISC_INFO_4::DbgBldStr[40]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The minidump producer’s “build string”, a string identifying the module that produced a minidump file. </p>
<p>This string is UTF-16-encoded and terminated by a UTF-16 <code>NUL</code> code unit.</p>
<p>On Windows 8.1 (NT 6.3), this may be “dbghelp.i386,6.3.9600.16520” or “dbghelp.amd64,6.3.9600.16520” depending on CPU architecture. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>compat/non_win/<a class="el" href="dbghelp_8h.html">dbghelp.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
