<!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: IMAGE_DEBUG_MISC 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="structIMAGE__DEBUG__MISC-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">IMAGE_DEBUG_MISC Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Miscellaneous debugging record.  
 <a href="structIMAGE__DEBUG__MISC.html#details">More...</a></p>

<p><code>#include &quot;winnt.h&quot;</code></p>
<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:a34353f624ec48a7aff62190abbe0ba38"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structIMAGE__DEBUG__MISC.html#a34353f624ec48a7aff62190abbe0ba38">DataType</a></td></tr>
<tr class="memdesc:a34353f624ec48a7aff62190abbe0ba38"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of data carried in the <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> field.  <a href="structIMAGE__DEBUG__MISC.html#a34353f624ec48a7aff62190abbe0ba38">More...</a><br /></td></tr>
<tr class="separator:a34353f624ec48a7aff62190abbe0ba38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b887ef30968ade59175e44d4c1b3be7"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structIMAGE__DEBUG__MISC.html#a4b887ef30968ade59175e44d4c1b3be7">Length</a></td></tr>
<tr class="memdesc:a4b887ef30968ade59175e44d4c1b3be7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The length of this structure in bytes, including the entire <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> field and its <code>NUL</code> terminator.  <a href="structIMAGE__DEBUG__MISC.html#a4b887ef30968ade59175e44d4c1b3be7">More...</a><br /></td></tr>
<tr class="separator:a4b887ef30968ade59175e44d4c1b3be7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad570f3c73a4ea54c2620dd33a0d39cd9"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structIMAGE__DEBUG__MISC.html#ad570f3c73a4ea54c2620dd33a0d39cd9">Unicode</a></td></tr>
<tr class="memdesc:ad570f3c73a4ea54c2620dd33a0d39cd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The encoding of the <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> field.  <a href="structIMAGE__DEBUG__MISC.html#ad570f3c73a4ea54c2620dd33a0d39cd9">More...</a><br /></td></tr>
<tr class="separator:ad570f3c73a4ea54c2620dd33a0d39cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4062e8334616c81359b0275d94f81b15"><td class="memItemLeft" align="right" valign="top"><a id="a4062e8334616c81359b0275d94f81b15"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>Reserved</b> [3]</td></tr>
<tr class="separator:a4062e8334616c81359b0275d94f81b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ea2a7b3d6dc6e329c901fe324e5ae05"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05">Data</a> [1]</td></tr>
<tr class="memdesc:a7ea2a7b3d6dc6e329c901fe324e5ae05"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data carried within this structure.  <a href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05">More...</a><br /></td></tr>
<tr class="separator:a7ea2a7b3d6dc6e329c901fe324e5ae05"><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>Miscellaneous debugging record. </p>
<p>This structure is referenced by <a class="el" href="structMINIDUMP__MODULE.html#a749bc0bb7492a1b9463631eec006b4d1" title="A pointer to the module’s miscellaneous debugging record, a structure of type IMAGE_DEBUG_MISC.">MINIDUMP_MODULE::MiscRecord</a>. It is obsolete, superseded by the CodeView record. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a7ea2a7b3d6dc6e329c901fe324e5ae05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ea2a7b3d6dc6e329c901fe324e5ae05">&#9670;&nbsp;</a></span>Data</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t IMAGE_DEBUG_MISC::Data[1]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The data carried within this structure. </p>
<p>For string data, this field will be <code>NUL</code>-terminated. If <a class="el" href="structIMAGE__DEBUG__MISC.html#ad570f3c73a4ea54c2620dd33a0d39cd9" title="The encoding of the Data field.">Unicode</a> is <code>1</code>, this field is UTF-16-encoded, and will be terminated by a UTF-16 <code>NUL</code> code unit (two <code>NUL</code> bytes). </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t IMAGE_DEBUG_MISC::DataType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The type of data carried in the <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> field. </p>
<p>This is a value of <a class="el" href="winnt_8h.html#IMAGE_DEBUG_MISC_x">IMAGE_DEBUG_MISC_*</a>. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t IMAGE_DEBUG_MISC::Length</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The length of this structure in bytes, including the entire <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> field and its <code>NUL</code> terminator. </p>
<dl class="section note"><dt>Note</dt><dd>The Windows documentation states that this field is rounded up to nearest nearest 4-byte multiple. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t IMAGE_DEBUG_MISC::Unicode</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The encoding of the <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> field. </p>
<p>If this field is <code>0</code>, <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> contains narrow or multibyte character data. If this field is <code>1</code>, <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> is UTF-16-encoded.</p>
<p>On Windows, with this field set to <code>0</code>, <a class="el" href="structIMAGE__DEBUG__MISC.html#a7ea2a7b3d6dc6e329c901fe324e5ae05" title="The data carried within this structure.">Data</a> will be encoded in the code page of the system that linked the module. On other operating systems, UTF-8 may be used. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>compat/non_win/<a class="el" href="winnt_8h.html">winnt.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>
