<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: csutil/win32/DbgHelpAPI.h Source File (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <h1>csutil/win32/DbgHelpAPI.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment"> DbgHelp API stuff.</span> <a name="l00003"></a>00003 <span class="comment"> Unfortunately, dbghelp.h isn't included in MinGW. So all that's needed goes here.</span> <a name="l00004"></a>00004 <span class="comment"> */</span> <a name="l00005"></a>00005 <a name="l00006"></a>00006 <span class="preprocessor">#ifndef __CSUTIL_DEBGHELPAPI_H__</span> <a name="l00007"></a>00007 <span class="preprocessor"></span><span class="preprocessor">#define __CSUTIL_DEBGHELPAPI_H__</span> <a name="l00008"></a>00008 <span class="preprocessor"></span> <a name="l00009"></a>00009 <span class="keyword">enum</span> ADDRESS_MODE <a name="l00010"></a>00010 { <a name="l00011"></a>00011 AddrMode1616, <a name="l00012"></a>00012 AddrMode1632, <a name="l00013"></a>00013 AddrModeReal, <a name="l00014"></a>00014 AddrModeFlat <a name="l00015"></a>00015 }; <a name="l00016"></a>00016 <a name="l00017"></a><a class="code" href="structADDRESS64.html">00017</a> <span class="keyword">struct </span><a class="code" href="structADDRESS64.html">ADDRESS64</a> <a name="l00018"></a>00018 { <a name="l00019"></a><a class="code" href="structADDRESS64.html#0b328b632bd089848637daf1eeb58778">00019</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structADDRESS64.html#0b328b632bd089848637daf1eeb58778">Offset</a>; <a name="l00020"></a><a class="code" href="structADDRESS64.html#b6d42120a1234a5d5e5fa164b5fe49ea">00020</a> WORD <a class="code" href="structADDRESS64.html#b6d42120a1234a5d5e5fa164b5fe49ea">Segment</a>; <a name="l00021"></a><a class="code" href="structADDRESS64.html#f46abbc5aecb577b65788133e6e15914">00021</a> ADDRESS_MODE <a class="code" href="structADDRESS64.html#f46abbc5aecb577b65788133e6e15914">Mode</a>; <a name="l00022"></a>00022 }; <a name="l00023"></a>00023 <span class="keyword">typedef</span> <a class="code" href="structADDRESS64.html">ADDRESS64</a>* <a class="code" href="structADDRESS64.html">LPADDRESS64</a>; <a name="l00024"></a>00024 <a name="l00025"></a><a class="code" href="structKDHELP64.html">00025</a> <span class="keyword">struct </span><a class="code" href="structKDHELP64.html">KDHELP64</a> <a name="l00026"></a>00026 { <a name="l00027"></a><a class="code" href="structKDHELP64.html#ae6e4399ac48ad323a6bcff4579e8913">00027</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structKDHELP64.html#ae6e4399ac48ad323a6bcff4579e8913">Thread</a>; <a name="l00028"></a><a class="code" href="structKDHELP64.html#ff280f15b72e1f9a6b956fb92bf71454">00028</a> DWORD <a class="code" href="structKDHELP64.html#ff280f15b72e1f9a6b956fb92bf71454">ThCallbackStack</a>; <a name="l00029"></a><a class="code" href="structKDHELP64.html#ef8692e8ed7dd7d13c785d7011fe8e5b">00029</a> DWORD <a class="code" href="structKDHELP64.html#ef8692e8ed7dd7d13c785d7011fe8e5b">ThCallbackBStore</a>; <a name="l00030"></a><a class="code" href="structKDHELP64.html#f1af7206d226422189f3a2adeb7c5523">00030</a> DWORD <a class="code" href="structKDHELP64.html#f1af7206d226422189f3a2adeb7c5523">NextCallback</a>; <a name="l00031"></a><a class="code" href="structKDHELP64.html#1e7d6a63716f32612780de8735c5fc20">00031</a> DWORD <a class="code" href="structKDHELP64.html#1e7d6a63716f32612780de8735c5fc20">FramePointer</a>; <a name="l00032"></a><a class="code" href="structKDHELP64.html#d0bd1a9c0db9757a390dc082c435e6ec">00032</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structKDHELP64.html#d0bd1a9c0db9757a390dc082c435e6ec">KiCallUserMode</a>; <a name="l00033"></a><a class="code" href="structKDHELP64.html#a3655cef50eca774695982dae5951590">00033</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structKDHELP64.html#a3655cef50eca774695982dae5951590">KeUserCallbackDispatcher</a>; <a name="l00034"></a><a class="code" href="structKDHELP64.html#e247b21c8b9b86d65f9bcb77bf7a0244">00034</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structKDHELP64.html#e247b21c8b9b86d65f9bcb77bf7a0244">SystemRangeStart</a>; <a name="l00035"></a><a class="code" href="structKDHELP64.html#1daefdedbc66269620dc14174fb4a705">00035</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structKDHELP64.html#1daefdedbc66269620dc14174fb4a705">Reserved</a>[8]; <a name="l00036"></a>00036 }; <a name="l00037"></a>00037 <span class="keyword">typedef</span> <a class="code" href="structKDHELP64.html">KDHELP64</a>* <a class="code" href="structKDHELP64.html">PKDHELP64</a>; <a name="l00038"></a>00038 <a name="l00039"></a><a class="code" href="structSTACKFRAME64.html">00039</a> <span class="keyword">struct </span><a class="code" href="structSTACKFRAME64.html">STACKFRAME64</a> <a name="l00040"></a>00040 { <a name="l00041"></a><a class="code" href="structSTACKFRAME64.html#5db70ac370696158a092d8e6075c62b9">00041</a> <a class="code" href="structADDRESS64.html">ADDRESS64</a> <a class="code" href="structSTACKFRAME64.html#5db70ac370696158a092d8e6075c62b9">AddrPC</a>; <a name="l00042"></a><a class="code" href="structSTACKFRAME64.html#c32c815f8858e5a7c8c4d16d0d71492a">00042</a> <a class="code" href="structADDRESS64.html">ADDRESS64</a> <a class="code" href="structSTACKFRAME64.html#c32c815f8858e5a7c8c4d16d0d71492a">AddrReturn</a>; <a name="l00043"></a><a class="code" href="structSTACKFRAME64.html#416cffd9393a7835024b2c917e3f7252">00043</a> <a class="code" href="structADDRESS64.html">ADDRESS64</a> <a class="code" href="structSTACKFRAME64.html#416cffd9393a7835024b2c917e3f7252">AddrFrame</a>; <a name="l00044"></a><a class="code" href="structSTACKFRAME64.html#24a96f690e6f08366b8190fe7b1513cd">00044</a> <a class="code" href="structADDRESS64.html">ADDRESS64</a> <a class="code" href="structSTACKFRAME64.html#24a96f690e6f08366b8190fe7b1513cd">AddrStack</a>; <a name="l00045"></a><a class="code" href="structSTACKFRAME64.html#48444c2b9d9e30cddee0a2afdfef1da7">00045</a> <a class="code" href="structADDRESS64.html">ADDRESS64</a> <a class="code" href="structSTACKFRAME64.html#48444c2b9d9e30cddee0a2afdfef1da7">AddrBStore</a>; <a name="l00046"></a><a class="code" href="structSTACKFRAME64.html#7756ed0364b9d8cf4af22ee3b57008b6">00046</a> PVOID <a class="code" href="structSTACKFRAME64.html#7756ed0364b9d8cf4af22ee3b57008b6">FuncTableEntry</a>; <a name="l00047"></a><a class="code" href="structSTACKFRAME64.html#0f3330bae3990250817ff856beffb0bb">00047</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSTACKFRAME64.html#0f3330bae3990250817ff856beffb0bb">Params</a>[4]; <a name="l00048"></a><a class="code" href="structSTACKFRAME64.html#365a573575cb22a3d5a91e4e329db77c">00048</a> BOOL <a class="code" href="structSTACKFRAME64.html#365a573575cb22a3d5a91e4e329db77c">Far</a>; <a name="l00049"></a><a class="code" href="structSTACKFRAME64.html#ddae3e5cefe726b9a7a04b23ac76e3e2">00049</a> BOOL <a class="code" href="structSTACKFRAME64.html#ddae3e5cefe726b9a7a04b23ac76e3e2">Virtual</a>; <a name="l00050"></a><a class="code" href="structSTACKFRAME64.html#ab414f19e2d9cbc993efc911adb48273">00050</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSTACKFRAME64.html#ab414f19e2d9cbc993efc911adb48273">Reserved</a>[3]; <a name="l00051"></a><a class="code" href="structSTACKFRAME64.html#1f1fd493ab2e017b2c52755984daae37">00051</a> <a class="code" href="structKDHELP64.html">KDHELP64</a> <a class="code" href="structSTACKFRAME64.html#1f1fd493ab2e017b2c52755984daae37">KdHelp</a>; <a name="l00052"></a>00052 }; <a name="l00053"></a>00053 <span class="keyword">typedef</span> <a class="code" href="structSTACKFRAME64.html">STACKFRAME64</a>* <a class="code" href="structSTACKFRAME64.html">LPSTACKFRAME64</a>; <a name="l00054"></a>00054 <a name="l00055"></a>00055 <span class="keyword">typedef</span> BOOL (WINAPI* PREAD_PROCESS_MEMORY_ROUTINE64) (HANDLE hProcess, <a name="l00056"></a>00056 <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead); <a name="l00057"></a>00057 <span class="keyword">typedef</span> PVOID (WINAPI* PFUNCTION_TABLE_ACCESS_ROUTINE64) (HANDLE hProcess, <a name="l00058"></a>00058 <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> AddrBase); <a name="l00059"></a>00059 <span class="keyword">typedef</span> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> (WINAPI* PGET_MODULE_BASE_ROUTINE64) (HANDLE hProcess, <a name="l00060"></a>00060 <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> Address); <a name="l00061"></a>00061 <span class="keyword">typedef</span> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> (WINAPI* PTRANSLATE_ADDRESS_ROUTINE64) (HANDLE hProcess, <a name="l00062"></a>00062 HANDLE hThread, <a class="code" href="structADDRESS64.html">LPADDRESS64</a> lpaddr); <a name="l00063"></a>00063 <a name="l00064"></a><a class="code" href="structSYMBOL__INFO.html">00064</a> <span class="keyword">struct </span><a class="code" href="structSYMBOL__INFO.html">SYMBOL_INFO</a> <a name="l00065"></a>00065 { <a name="l00066"></a><a class="code" href="structSYMBOL__INFO.html#cf842ad50f4e964b7d453b90e73bc2bb">00066</a> ULONG <a class="code" href="structSYMBOL__INFO.html#cf842ad50f4e964b7d453b90e73bc2bb">SizeOfStruct</a>; <a name="l00067"></a><a class="code" href="structSYMBOL__INFO.html#358a4881be3116293ed9d6f1e7bb12a2">00067</a> ULONG <a class="code" href="structSYMBOL__INFO.html#358a4881be3116293ed9d6f1e7bb12a2">TypeIndex</a>; <a name="l00068"></a><a class="code" href="structSYMBOL__INFO.html#39208817e1387c20c94629d233e4616f">00068</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSYMBOL__INFO.html#39208817e1387c20c94629d233e4616f">Reserved</a>[2]; <a name="l00069"></a><a class="code" href="structSYMBOL__INFO.html#bbed2255c03ddcb7d637d7c05765099c">00069</a> ULONG <a class="code" href="structSYMBOL__INFO.html#bbed2255c03ddcb7d637d7c05765099c">Reserved2</a>; <a name="l00070"></a><a class="code" href="structSYMBOL__INFO.html#b41631269a521410f42ace0cf31e8af2">00070</a> ULONG <a class="code" href="structSYMBOL__INFO.html#b41631269a521410f42ace0cf31e8af2">Size</a>; <a name="l00071"></a><a class="code" href="structSYMBOL__INFO.html#19090276bc1644b1e6f6d65bfbf7354d">00071</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSYMBOL__INFO.html#19090276bc1644b1e6f6d65bfbf7354d">ModBase</a>; <a name="l00072"></a><a class="code" href="structSYMBOL__INFO.html#57df38283f07c819b5e613c44feecaab">00072</a> ULONG <a class="code" href="structSYMBOL__INFO.html#57df38283f07c819b5e613c44feecaab">Flags</a>; <a name="l00073"></a><a class="code" href="structSYMBOL__INFO.html#d3c21bb24528b999f925acc3d2eaa51d">00073</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSYMBOL__INFO.html#d3c21bb24528b999f925acc3d2eaa51d">Value</a>; <a name="l00074"></a><a class="code" href="structSYMBOL__INFO.html#2bcdc4763f21a358d67d5b8f65cf59bb">00074</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSYMBOL__INFO.html#2bcdc4763f21a358d67d5b8f65cf59bb">Address</a>; <a name="l00075"></a><a class="code" href="structSYMBOL__INFO.html#c655a4797d1a9e683ec5b0e36d055d71">00075</a> ULONG <a class="code" href="structSYMBOL__INFO.html#c655a4797d1a9e683ec5b0e36d055d71">Register</a>; <a name="l00076"></a><a class="code" href="structSYMBOL__INFO.html#b3d3fb7fbd5fd1727c2f8bb4d0fe392b">00076</a> ULONG <a class="code" href="structSYMBOL__INFO.html#b3d3fb7fbd5fd1727c2f8bb4d0fe392b">Scope</a>; <a name="l00077"></a><a class="code" href="structSYMBOL__INFO.html#6033e467f60e86fefdfe99521c4f01bf">00077</a> ULONG <a class="code" href="structSYMBOL__INFO.html#6033e467f60e86fefdfe99521c4f01bf">Tag</a>; <a name="l00078"></a><a class="code" href="structSYMBOL__INFO.html#aea37d2a1476b5f71739767119915e6e">00078</a> ULONG <a class="code" href="structSYMBOL__INFO.html#aea37d2a1476b5f71739767119915e6e">NameLen</a>; <a name="l00079"></a><a class="code" href="structSYMBOL__INFO.html#c90a497d0ad03612ead319c8f654e7f5">00079</a> ULONG <a class="code" href="structSYMBOL__INFO.html#c90a497d0ad03612ead319c8f654e7f5">MaxNameLen</a>; <a name="l00080"></a><a class="code" href="structSYMBOL__INFO.html#cf29b734ea07aa1992d832c8a315d722">00080</a> CHAR <a class="code" href="structSYMBOL__INFO.html#cf29b734ea07aa1992d832c8a315d722">Name</a>[1]; <a name="l00081"></a>00081 }; <a name="l00082"></a>00082 <span class="keyword">typedef</span> <a class="code" href="structSYMBOL__INFO.html">SYMBOL_INFO</a>* <a class="code" href="structSYMBOL__INFO.html">PSYMBOL_INFO</a>; <a name="l00083"></a>00083 <a name="l00084"></a><a class="code" href="structSYMBOL__INFOW.html">00084</a> <span class="keyword">struct </span><a class="code" href="structSYMBOL__INFOW.html">SYMBOL_INFOW</a> <a name="l00085"></a>00085 { <a name="l00086"></a><a class="code" href="structSYMBOL__INFOW.html#a820fe2fd7f27c6e5af963493b4c2d21">00086</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#a820fe2fd7f27c6e5af963493b4c2d21">SizeOfStruct</a>; <a name="l00087"></a><a class="code" href="structSYMBOL__INFOW.html#8ff784c5434c897ffd2585b8969e6fba">00087</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#8ff784c5434c897ffd2585b8969e6fba">TypeIndex</a>; <a name="l00088"></a><a class="code" href="structSYMBOL__INFOW.html#0f04a1d2fcbc67024a52ba22d149e166">00088</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSYMBOL__INFOW.html#0f04a1d2fcbc67024a52ba22d149e166">Reserved</a>[2]; <a name="l00089"></a><a class="code" href="structSYMBOL__INFOW.html#d4ace7384d5727a8deb8ff0547949a7a">00089</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#d4ace7384d5727a8deb8ff0547949a7a">Reserved2</a>; <a name="l00090"></a><a class="code" href="structSYMBOL__INFOW.html#0bcc991843375281c315219c9976ca90">00090</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#0bcc991843375281c315219c9976ca90">Size</a>; <a name="l00091"></a><a class="code" href="structSYMBOL__INFOW.html#f42a93232a294a0b6fc8c32dde145bcd">00091</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSYMBOL__INFOW.html#f42a93232a294a0b6fc8c32dde145bcd">ModBase</a>; <a name="l00092"></a><a class="code" href="structSYMBOL__INFOW.html#c64e5157dbb027ee17c931b3cee0884f">00092</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#c64e5157dbb027ee17c931b3cee0884f">Flags</a>; <a name="l00093"></a><a class="code" href="structSYMBOL__INFOW.html#ff89ee67216690ecb0170b802d8f2ba7">00093</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSYMBOL__INFOW.html#ff89ee67216690ecb0170b802d8f2ba7">Value</a>; <a name="l00094"></a><a class="code" href="structSYMBOL__INFOW.html#46ffd71bfddf55ec6d9abb2cb6b2543d">00094</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structSYMBOL__INFOW.html#46ffd71bfddf55ec6d9abb2cb6b2543d">Address</a>; <a name="l00095"></a><a class="code" href="structSYMBOL__INFOW.html#de0c010ccd306b09201d9c9c4ab8353f">00095</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#de0c010ccd306b09201d9c9c4ab8353f">Register</a>; <a name="l00096"></a><a class="code" href="structSYMBOL__INFOW.html#3ff150dd7b56b2045847000c0d1651ec">00096</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#3ff150dd7b56b2045847000c0d1651ec">Scope</a>; <a name="l00097"></a><a class="code" href="structSYMBOL__INFOW.html#6518de25381042e162e50018cc71f0c2">00097</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#6518de25381042e162e50018cc71f0c2">Tag</a>; <a name="l00098"></a><a class="code" href="structSYMBOL__INFOW.html#9fb3f64035105dcf1f850759cd6b300c">00098</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#9fb3f64035105dcf1f850759cd6b300c">NameLen</a>; <a name="l00099"></a><a class="code" href="structSYMBOL__INFOW.html#9ba4e92d1b042e03eb3cb8a7da51d48d">00099</a> ULONG <a class="code" href="structSYMBOL__INFOW.html#9ba4e92d1b042e03eb3cb8a7da51d48d">MaxNameLen</a>; <a name="l00100"></a><a class="code" href="structSYMBOL__INFOW.html#b4ce7e301a487234429574cff3ba7853">00100</a> WCHAR <a class="code" href="structSYMBOL__INFOW.html#b4ce7e301a487234429574cff3ba7853">Name</a>[1]; <a name="l00101"></a>00101 }; <a name="l00102"></a>00102 <span class="keyword">typedef</span> <a class="code" href="structSYMBOL__INFOW.html">SYMBOL_INFOW</a>* <a class="code" href="structSYMBOL__INFOW.html">PSYMBOL_INFOW</a>; <a name="l00103"></a>00103 <a name="l00104"></a>00104 <span class="preprocessor">#define SYMFLAG_PARAMETER 0x00000040</span> <a name="l00105"></a>00105 <span class="preprocessor"></span> <a name="l00106"></a>00106 <span class="preprocessor">#define SYMOPT_UNDNAME 0x00000002</span> <a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor">#define SYMOPT_DEFERRED_LOADS 0x00000004</span> <a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor">#define SYMOPT_LOAD_LINES 0x00000010</span> <a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor">#define SYMOPT_FAIL_CRITICAL_ERRORS 0x00000200</span> <a name="l00110"></a>00110 <span class="preprocessor"></span> <a name="l00111"></a>00111 <span class="keyword">enum</span> SYM_TYPE <a name="l00112"></a>00112 { <a name="l00113"></a>00113 SymNone = 0, <a name="l00114"></a>00114 SymCoff, <a name="l00115"></a>00115 SymCv, <a name="l00116"></a>00116 SymPdb, <a name="l00117"></a>00117 SymExport, <a name="l00118"></a>00118 SymDeferred, <a name="l00119"></a>00119 SymSym, <a name="l00120"></a>00120 SymDia, <a name="l00121"></a>00121 SymVirtual, <a name="l00122"></a>00122 NumSymTypes <a name="l00123"></a>00123 }; <a name="l00124"></a>00124 <a name="l00125"></a><a class="code" href="structIMAGEHLP__MODULE64.html">00125</a> <span class="keyword">struct </span><a class="code" href="structIMAGEHLP__MODULE64.html">IMAGEHLP_MODULE64</a> <a name="l00126"></a>00126 { <a name="l00127"></a><a class="code" href="structIMAGEHLP__MODULE64.html#013eb75137754a97cff14c61e7b211a1">00127</a> DWORD <a class="code" href="structIMAGEHLP__MODULE64.html#013eb75137754a97cff14c61e7b211a1">SizeOfStruct</a>; <a name="l00128"></a><a class="code" href="structIMAGEHLP__MODULE64.html#9ff73e83539150568940309cba9ce509">00128</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__MODULE64.html#9ff73e83539150568940309cba9ce509">BaseOfImage</a>; <a name="l00129"></a><a class="code" href="structIMAGEHLP__MODULE64.html#0eb56fd4f789661924f985af26417249">00129</a> DWORD <a class="code" href="structIMAGEHLP__MODULE64.html#0eb56fd4f789661924f985af26417249">ImageSize</a>; <a name="l00130"></a><a class="code" href="structIMAGEHLP__MODULE64.html#4e22e3df78189ebe9b8952b95c9542cd">00130</a> DWORD <a class="code" href="structIMAGEHLP__MODULE64.html#4e22e3df78189ebe9b8952b95c9542cd">TimeDateStamp</a>; <a name="l00131"></a><a class="code" href="structIMAGEHLP__MODULE64.html#5e5e99ca7c67cff97ee5a2a64d8c3701">00131</a> DWORD <a class="code" href="structIMAGEHLP__MODULE64.html#5e5e99ca7c67cff97ee5a2a64d8c3701">CheckSum</a>; <a name="l00132"></a><a class="code" href="structIMAGEHLP__MODULE64.html#2a0637c55da9fc0b3eef217b42c5874d">00132</a> DWORD <a class="code" href="structIMAGEHLP__MODULE64.html#2a0637c55da9fc0b3eef217b42c5874d">NumSyms</a>; <a name="l00133"></a><a class="code" href="structIMAGEHLP__MODULE64.html#7d8ead75c7ab4962200220faa9f02d4c">00133</a> SYM_TYPE <a class="code" href="structIMAGEHLP__MODULE64.html#7d8ead75c7ab4962200220faa9f02d4c">SymType</a>; <a name="l00134"></a><a class="code" href="structIMAGEHLP__MODULE64.html#aa4b41ebe7b7d6194293d796af9fc5f9">00134</a> CHAR <a class="code" href="structIMAGEHLP__MODULE64.html#aa4b41ebe7b7d6194293d796af9fc5f9">ModuleName</a>[32]; <a name="l00135"></a><a class="code" href="structIMAGEHLP__MODULE64.html#e7678a7193191e23fdd0bdd00b46451d">00135</a> CHAR <a class="code" href="structIMAGEHLP__MODULE64.html#e7678a7193191e23fdd0bdd00b46451d">ImageName</a>[256]; <a name="l00136"></a><a class="code" href="structIMAGEHLP__MODULE64.html#5c5aaa92d7bedaa3de4a1d31cf3a2b54">00136</a> CHAR <a class="code" href="structIMAGEHLP__MODULE64.html#5c5aaa92d7bedaa3de4a1d31cf3a2b54">LoadedImageName</a>[256]; <a name="l00137"></a>00137 <span class="comment">/*</span> <a name="l00138"></a>00138 <span class="comment"> The following fields are only supported on newer versions of dbghelp.dll,</span> <a name="l00139"></a>00139 <span class="comment"> but the versions shipped with W2k resp. WXP lack them.</span> <a name="l00140"></a>00140 <span class="comment"> */</span> <a name="l00141"></a><a class="code" href="structIMAGEHLP__MODULE64.html#d80d3151705481604207bb8105a2f9d9">00141</a> CHAR <a class="code" href="structIMAGEHLP__MODULE64.html#d80d3151705481604207bb8105a2f9d9">LoadedPdbName</a>[256]; <a name="l00142"></a><a class="code" href="structIMAGEHLP__MODULE64.html#0fa4290b4fc529084ae534fe528c9184">00142</a> DWORD <a class="code" href="structIMAGEHLP__MODULE64.html#0fa4290b4fc529084ae534fe528c9184">CVSig</a>; <a name="l00143"></a><a class="code" href="structIMAGEHLP__MODULE64.html#e268d6b756ef29ef5caeec8cd6c2bb37">00143</a> CHAR <a class="code" href="structIMAGEHLP__MODULE64.html#e268d6b756ef29ef5caeec8cd6c2bb37">CVData</a>[MAX_PATH*3]; <a name="l00144"></a><a class="code" href="structIMAGEHLP__MODULE64.html#04f40fa9c85d2c912fb1ea43ffddb4da">00144</a> DWORD <a class="code" href="structIMAGEHLP__MODULE64.html#04f40fa9c85d2c912fb1ea43ffddb4da">PdbSig</a>; <a name="l00145"></a><a class="code" href="structIMAGEHLP__MODULE64.html#aec9b74ca13156c310119313ea622cb1">00145</a> GUID <a class="code" href="structIMAGEHLP__MODULE64.html#aec9b74ca13156c310119313ea622cb1">PdbSig70</a>; <a name="l00146"></a><a class="code" href="structIMAGEHLP__MODULE64.html#14add20ba45c878d2174357ea559e663">00146</a> DWORD <a class="code" href="structIMAGEHLP__MODULE64.html#14add20ba45c878d2174357ea559e663">PdbAge</a>; <a name="l00147"></a><a class="code" href="structIMAGEHLP__MODULE64.html#a5016faa4fed5c5d085d299d4ff684df">00147</a> BOOL <a class="code" href="structIMAGEHLP__MODULE64.html#a5016faa4fed5c5d085d299d4ff684df">PdbUnmatched</a>; <a name="l00148"></a><a class="code" href="structIMAGEHLP__MODULE64.html#a9a8b90f701ff315b0d2028ffcc7ea2d">00148</a> BOOL <a class="code" href="structIMAGEHLP__MODULE64.html#a9a8b90f701ff315b0d2028ffcc7ea2d">DbgUnmatched</a>; <a name="l00149"></a><a class="code" href="structIMAGEHLP__MODULE64.html#721ef57a08c64d4e433ad39d2613a387">00149</a> BOOL <a class="code" href="structIMAGEHLP__MODULE64.html#721ef57a08c64d4e433ad39d2613a387">LineNumbers</a>; <a name="l00150"></a><a class="code" href="structIMAGEHLP__MODULE64.html#70f149dc6ed11eaf25c4e41f5ebbc0df">00150</a> BOOL <a class="code" href="structIMAGEHLP__MODULE64.html#70f149dc6ed11eaf25c4e41f5ebbc0df">GlobalSymbols</a>; <a name="l00151"></a><a class="code" href="structIMAGEHLP__MODULE64.html#27250a9a5986b41827840e31c5752fba">00151</a> BOOL <a class="code" href="structIMAGEHLP__MODULE64.html#27250a9a5986b41827840e31c5752fba">TypeInfo</a>; <a name="l00152"></a>00152 }; <a name="l00153"></a>00153 <span class="keyword">typedef</span> <a class="code" href="structIMAGEHLP__MODULE64.html">IMAGEHLP_MODULE64</a>* <a class="code" href="structIMAGEHLP__MODULE64.html">PIMAGEHLP_MODULE64</a>; <a name="l00154"></a>00154 <a name="l00155"></a><a class="code" href="structIMAGEHLP__MODULEW64.html">00155</a> <span class="keyword">struct </span><a class="code" href="structIMAGEHLP__MODULEW64.html">IMAGEHLP_MODULEW64</a> <a name="l00156"></a>00156 { <a name="l00157"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#96b729c8d134910ca69a0838d2e11d34">00157</a> DWORD <a class="code" href="structIMAGEHLP__MODULEW64.html#96b729c8d134910ca69a0838d2e11d34">SizeOfStruct</a>; <a name="l00158"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#1ab06dac6a778237945792a53cce9ed4">00158</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__MODULEW64.html#1ab06dac6a778237945792a53cce9ed4">BaseOfImage</a>; <a name="l00159"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#ed228c988db368a6e19c24a20699ea45">00159</a> DWORD <a class="code" href="structIMAGEHLP__MODULEW64.html#ed228c988db368a6e19c24a20699ea45">ImageSize</a>; <a name="l00160"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#a18e53cbb983cf1435298778ca2c5987">00160</a> DWORD <a class="code" href="structIMAGEHLP__MODULEW64.html#a18e53cbb983cf1435298778ca2c5987">TimeDateStamp</a>; <a name="l00161"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#4fcd53db480c90cca35786e09bb71f94">00161</a> DWORD <a class="code" href="structIMAGEHLP__MODULEW64.html#4fcd53db480c90cca35786e09bb71f94">CheckSum</a>; <a name="l00162"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#6d9f078b1cc648499cfd007ab1c821e3">00162</a> DWORD <a class="code" href="structIMAGEHLP__MODULEW64.html#6d9f078b1cc648499cfd007ab1c821e3">NumSyms</a>; <a name="l00163"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#ffa419a7f9f053db27fd289847cef443">00163</a> SYM_TYPE <a class="code" href="structIMAGEHLP__MODULEW64.html#ffa419a7f9f053db27fd289847cef443">SymType</a>; <a name="l00164"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#888b4b8067e63e02e747b9b00b8f5578">00164</a> WCHAR <a class="code" href="structIMAGEHLP__MODULEW64.html#888b4b8067e63e02e747b9b00b8f5578">ModuleName</a>[32]; <a name="l00165"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#f48384949b420209f957a0ca9d1d3140">00165</a> WCHAR <a class="code" href="structIMAGEHLP__MODULEW64.html#f48384949b420209f957a0ca9d1d3140">ImageName</a>[256]; <a name="l00166"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#3d4fde944df1de4334b70393534b8911">00166</a> WCHAR <a class="code" href="structIMAGEHLP__MODULEW64.html#3d4fde944df1de4334b70393534b8911">LoadedImageName</a>[256]; <a name="l00167"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#8d3a516da2c278496b74dd400d3e1df8">00167</a> WCHAR <a class="code" href="structIMAGEHLP__MODULEW64.html#8d3a516da2c278496b74dd400d3e1df8">LoadedPdbName</a>[256]; <a name="l00168"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#7f49d0064f79be117feea71461e75b21">00168</a> DWORD <a class="code" href="structIMAGEHLP__MODULEW64.html#7f49d0064f79be117feea71461e75b21">CVSig</a>; <a name="l00169"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#421d35e1442d6c624476a9bd57952ce8">00169</a> WCHAR <a class="code" href="structIMAGEHLP__MODULEW64.html#421d35e1442d6c624476a9bd57952ce8">CVData</a>[MAX_PATH*3]; <a name="l00170"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#28ac336745c994e32356f966bba08cfe">00170</a> DWORD <a class="code" href="structIMAGEHLP__MODULEW64.html#28ac336745c994e32356f966bba08cfe">PdbSig</a>; <a name="l00171"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#6d9b34ea35adf7c20f9910e2ae686754">00171</a> GUID <a class="code" href="structIMAGEHLP__MODULEW64.html#6d9b34ea35adf7c20f9910e2ae686754">PdbSig70</a>; <a name="l00172"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#62d635a3d0e6b2953186112e79a55fcf">00172</a> DWORD <a class="code" href="structIMAGEHLP__MODULEW64.html#62d635a3d0e6b2953186112e79a55fcf">PdbAge</a>; <a name="l00173"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#c96c11e5d2caf46251946e386b01418b">00173</a> BOOL <a class="code" href="structIMAGEHLP__MODULEW64.html#c96c11e5d2caf46251946e386b01418b">PdbUnmatched</a>; <a name="l00174"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#684a18601a3283e8c1252e105eacd410">00174</a> BOOL <a class="code" href="structIMAGEHLP__MODULEW64.html#684a18601a3283e8c1252e105eacd410">DbgUnmatched</a>; <a name="l00175"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#a5bb10abc7c1295235deeac8797caa2d">00175</a> BOOL <a class="code" href="structIMAGEHLP__MODULEW64.html#a5bb10abc7c1295235deeac8797caa2d">LineNumbers</a>; <a name="l00176"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#c5fe85dc3da51610c146748b850775f6">00176</a> BOOL <a class="code" href="structIMAGEHLP__MODULEW64.html#c5fe85dc3da51610c146748b850775f6">GlobalSymbols</a>; <a name="l00177"></a><a class="code" href="structIMAGEHLP__MODULEW64.html#2f65e44d34e374a3d1b2edac2a83b9f6">00177</a> BOOL <a class="code" href="structIMAGEHLP__MODULEW64.html#2f65e44d34e374a3d1b2edac2a83b9f6">TypeInfo</a>; <a name="l00178"></a>00178 }; <a name="l00179"></a>00179 <span class="keyword">typedef</span> <a class="code" href="structIMAGEHLP__MODULEW64.html">IMAGEHLP_MODULEW64</a>* <a class="code" href="structIMAGEHLP__MODULEW64.html">PIMAGEHLP_MODULEW64</a>; <a name="l00180"></a>00180 <a name="l00181"></a><a class="code" href="structIMAGEHLP__LINE64.html">00181</a> <span class="keyword">struct </span><a class="code" href="structIMAGEHLP__LINE64.html">IMAGEHLP_LINE64</a> <a name="l00182"></a>00182 { <a name="l00183"></a><a class="code" href="structIMAGEHLP__LINE64.html#414698ff987c55443230602f96608a4b">00183</a> DWORD <a class="code" href="structIMAGEHLP__LINE64.html#414698ff987c55443230602f96608a4b">SizeOfStruct</a>; <a name="l00184"></a><a class="code" href="structIMAGEHLP__LINE64.html#ae70159f289aab641d5556964909f230">00184</a> PVOID <a class="code" href="structIMAGEHLP__LINE64.html#ae70159f289aab641d5556964909f230">Key</a>; <a name="l00185"></a><a class="code" href="structIMAGEHLP__LINE64.html#6f11d4138db257c6f2c19dfcb6ef011d">00185</a> DWORD <a class="code" href="structIMAGEHLP__LINE64.html#6f11d4138db257c6f2c19dfcb6ef011d">LineNumber</a>; <a name="l00186"></a><a class="code" href="structIMAGEHLP__LINE64.html#291e72f15c3c83fea4bd3781e0665089">00186</a> PCHAR <a class="code" href="structIMAGEHLP__LINE64.html#291e72f15c3c83fea4bd3781e0665089">FileName</a>; <a name="l00187"></a><a class="code" href="structIMAGEHLP__LINE64.html#79ef8c0a13fca645e7b738bf8b13777d">00187</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__LINE64.html#79ef8c0a13fca645e7b738bf8b13777d">Address</a>; <a name="l00188"></a>00188 }; <a name="l00189"></a>00189 <span class="keyword">typedef</span> <a class="code" href="structIMAGEHLP__LINE64.html">IMAGEHLP_LINE64</a>* <a class="code" href="structIMAGEHLP__LINE64.html">PIMAGEHLP_LINE64</a>; <a name="l00190"></a>00190 <a name="l00191"></a><a class="code" href="structIMAGEHLP__LINEW64.html">00191</a> <span class="keyword">struct </span><a class="code" href="structIMAGEHLP__LINEW64.html">IMAGEHLP_LINEW64</a> <a name="l00192"></a>00192 { <a name="l00193"></a><a class="code" href="structIMAGEHLP__LINEW64.html#a36aabe25d298e650888be9717a6cfc2">00193</a> DWORD <a class="code" href="structIMAGEHLP__LINEW64.html#a36aabe25d298e650888be9717a6cfc2">SizeOfStruct</a>; <a name="l00194"></a><a class="code" href="structIMAGEHLP__LINEW64.html#0c5bfed9e1724b857945bc2d71ab6b1e">00194</a> PVOID <a class="code" href="structIMAGEHLP__LINEW64.html#0c5bfed9e1724b857945bc2d71ab6b1e">Key</a>; <a name="l00195"></a><a class="code" href="structIMAGEHLP__LINEW64.html#f4be0e172d711e5c62adce956bf3bd0e">00195</a> DWORD <a class="code" href="structIMAGEHLP__LINEW64.html#f4be0e172d711e5c62adce956bf3bd0e">LineNumber</a>; <a name="l00196"></a><a class="code" href="structIMAGEHLP__LINEW64.html#1e895d5936d04b12f946cfc107ec027d">00196</a> PWCHAR <a class="code" href="structIMAGEHLP__LINEW64.html#1e895d5936d04b12f946cfc107ec027d">FileName</a>; <a name="l00197"></a><a class="code" href="structIMAGEHLP__LINEW64.html#4f6d00cab12fe387f260a1a1c44c9256">00197</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__LINEW64.html#4f6d00cab12fe387f260a1a1c44c9256">Address</a>; <a name="l00198"></a>00198 }; <a name="l00199"></a>00199 <span class="keyword">typedef</span> <a class="code" href="structIMAGEHLP__LINEW64.html">IMAGEHLP_LINEW64</a>* <a class="code" href="structIMAGEHLP__LINEW64.html">PIMAGEHLP_LINEW64</a>; <a name="l00200"></a>00200 <a name="l00201"></a>00201 <span class="keyword">typedef</span> BOOL (CALLBACK* PSYM_ENUMERATESYMBOLS_CALLBACK) (<a class="code" href="structSYMBOL__INFO.html">PSYMBOL_INFO</a> pSymInfo, <a name="l00202"></a>00202 ULONG SymbolSize, PVOID UserContext); <a name="l00203"></a>00203 <span class="keyword">typedef</span> BOOL (CALLBACK* PSYM_ENUMERATESYMBOLS_CALLBACKW) (<a class="code" href="structSYMBOL__INFOW.html">PSYMBOL_INFOW</a> pSymInfo, <a name="l00204"></a>00204 ULONG SymbolSize, PVOID UserContext); <a name="l00205"></a>00205 <span class="keyword">typedef</span> BOOL (CALLBACK* PSYM_ENUMMODULES_CALLBACK64) (PSTR ModuleName, <a name="l00206"></a>00206 <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> BaseOfDll, PVOID UserContext); <a name="l00207"></a>00207 <span class="keyword">typedef</span> BOOL (CALLBACK* PSYM_ENUMMODULES_CALLBACKW64) (PWSTR ModuleName, <a name="l00208"></a>00208 <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> BaseOfDll, PVOID UserContext); <a name="l00209"></a>00209 <a name="l00210"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html">00210</a> <span class="keyword">struct </span><a class="code" href="structIMAGEHLP__STACK__FRAME.html">IMAGEHLP_STACK_FRAME</a> <a name="l00211"></a>00211 { <a name="l00212"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#d16751d99210d85f8012bacffbcd36d1">00212</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__STACK__FRAME.html#d16751d99210d85f8012bacffbcd36d1">InstructionOffset</a>; <a name="l00213"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#42c523ec600741ef7e1a47b242b5fcdc">00213</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__STACK__FRAME.html#42c523ec600741ef7e1a47b242b5fcdc">ReturnOffset</a>; <a name="l00214"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#9f04670cfc7cd908684131b7025398e2">00214</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__STACK__FRAME.html#9f04670cfc7cd908684131b7025398e2">FrameOffset</a>; <a name="l00215"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#d17cbfd2a424b3aef96cd33ac8bfcbbc">00215</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__STACK__FRAME.html#d17cbfd2a424b3aef96cd33ac8bfcbbc">StackOffset</a>; <a name="l00216"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#81da8b504a9736b067957bbc3c1a2a7e">00216</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__STACK__FRAME.html#81da8b504a9736b067957bbc3c1a2a7e">BackingStoreOffset</a>; <a name="l00217"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#0b50d4ba0de7c852bc70cb5779ff79c0">00217</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__STACK__FRAME.html#0b50d4ba0de7c852bc70cb5779ff79c0">FuncTableEntry</a>; <a name="l00218"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#ba887b783d5c9d3c4c5f70186a1b8d8d">00218</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__STACK__FRAME.html#ba887b783d5c9d3c4c5f70186a1b8d8d">Params</a>[4]; <a name="l00219"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#a9595fa82036fa7af604fd2d5a65f277">00219</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structIMAGEHLP__STACK__FRAME.html#a9595fa82036fa7af604fd2d5a65f277">Reserved</a>[5]; <a name="l00220"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#f24358db488146259bedf2ab85a618a5">00220</a> BOOL <a class="code" href="structIMAGEHLP__STACK__FRAME.html#f24358db488146259bedf2ab85a618a5">Virtual</a>; <a name="l00221"></a><a class="code" href="structIMAGEHLP__STACK__FRAME.html#a488a34c3f122abcbcb927b3fd8ee164">00221</a> ULONG <a class="code" href="structIMAGEHLP__STACK__FRAME.html#a488a34c3f122abcbcb927b3fd8ee164">Reserved2</a>; <a name="l00222"></a>00222 }; <a name="l00223"></a>00223 <span class="keyword">typedef</span> <a class="code" href="structIMAGEHLP__STACK__FRAME.html">IMAGEHLP_STACK_FRAME</a>* <a class="code" href="structIMAGEHLP__STACK__FRAME.html">PIMAGEHLP_STACK_FRAME</a>; <a name="l00224"></a>00224 <span class="keyword">typedef</span> <span class="keywordtype">void</span>* PIMAGEHLP_CONTEXT; <a name="l00225"></a>00225 <a name="l00226"></a><a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html">00226</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html">MINIDUMP_EXCEPTION_INFORMATION</a> <a name="l00227"></a>00227 { <a name="l00228"></a><a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html#9021423abb1b3f2bf01760f608ea149c">00228</a> DWORD <a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html#9021423abb1b3f2bf01760f608ea149c">ThreadId</a>; <a name="l00229"></a><a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html#fc570ad0997005d5c12170a2a9576a83">00229</a> PEXCEPTION_POINTERS <a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html#fc570ad0997005d5c12170a2a9576a83">ExceptionPointers</a>; <a name="l00230"></a><a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html#3032244fb07171891df5eebf245cd539">00230</a> BOOL <a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html#3032244fb07171891df5eebf245cd539">ClientPointers</a>; <a name="l00231"></a>00231 }; <a name="l00232"></a>00232 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html">MINIDUMP_EXCEPTION_INFORMATION</a>* <a class="code" href="structMINIDUMP__EXCEPTION__INFORMATION.html">PMINIDUMP_EXCEPTION_INFORMATION</a>; <a name="l00233"></a>00233 <a name="l00234"></a><a class="code" href="structMINIDUMP__USER__STREAM.html">00234</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__USER__STREAM.html">MINIDUMP_USER_STREAM</a> <a name="l00235"></a>00235 { <a name="l00236"></a><a class="code" href="structMINIDUMP__USER__STREAM.html#f6715dcffbd70066b185d3df066a1f33">00236</a> ULONG32 <a class="code" href="structMINIDUMP__USER__STREAM.html#f6715dcffbd70066b185d3df066a1f33">Type</a>; <a name="l00237"></a><a class="code" href="structMINIDUMP__USER__STREAM.html#749af3c7543580d6cf2e07f8ed6deccb">00237</a> ULONG <a class="code" href="structMINIDUMP__USER__STREAM.html#749af3c7543580d6cf2e07f8ed6deccb">BufferSize</a>; <a name="l00238"></a><a class="code" href="structMINIDUMP__USER__STREAM.html#599c66a209bf47ff01f2f2a23bfc78b3">00238</a> PVOID <a class="code" href="structMINIDUMP__USER__STREAM.html#599c66a209bf47ff01f2f2a23bfc78b3">Buffer</a>; <a name="l00239"></a>00239 }; <a name="l00240"></a>00240 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__USER__STREAM.html">MINIDUMP_USER_STREAM</a>* <a class="code" href="structMINIDUMP__USER__STREAM.html">PMINIDUMP_USER_STREAM</a>; <a name="l00241"></a>00241 <a name="l00242"></a><a class="code" href="structMINIDUMP__USER__STREAM__INFORMATION.html">00242</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__USER__STREAM__INFORMATION.html">MINIDUMP_USER_STREAM_INFORMATION</a> <a name="l00243"></a>00243 { <a name="l00244"></a><a class="code" href="structMINIDUMP__USER__STREAM__INFORMATION.html#a1bd74949e87684b39794cfaa11d9e0a">00244</a> ULONG <a class="code" href="structMINIDUMP__USER__STREAM__INFORMATION.html#a1bd74949e87684b39794cfaa11d9e0a">UserStreamCount</a>; <a name="l00245"></a><a class="code" href="structMINIDUMP__USER__STREAM__INFORMATION.html#51a85e3350ede1c4280559d7de01d66c">00245</a> <a class="code" href="structMINIDUMP__USER__STREAM.html">PMINIDUMP_USER_STREAM</a> <a class="code" href="structMINIDUMP__USER__STREAM__INFORMATION.html#51a85e3350ede1c4280559d7de01d66c">UserStreamArray</a>; <a name="l00246"></a>00246 }; <a name="l00247"></a>00247 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__USER__STREAM__INFORMATION.html">MINIDUMP_USER_STREAM_INFORMATION</a>* <a class="code" href="structMINIDUMP__USER__STREAM__INFORMATION.html">PMINIDUMP_USER_STREAM_INFORMATION</a>; <a name="l00248"></a>00248 <a name="l00249"></a>00249 <span class="keyword">enum</span> MINIDUMP_CALLBACK_TYPE <a name="l00250"></a>00250 { <a name="l00251"></a>00251 ModuleCallback, <a name="l00252"></a>00252 ThreadCallback, <a name="l00253"></a>00253 ThreadExCallback, <a name="l00254"></a>00254 IncludeThreadCallback, <a name="l00255"></a>00255 IncludeModuleCallback <a name="l00256"></a>00256 }; <a name="l00257"></a>00257 <a name="l00258"></a><a class="code" href="structMINIDUMP__THREAD__CALLBACK.html">00258</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__THREAD__CALLBACK.html">MINIDUMP_THREAD_CALLBACK</a> <a name="l00259"></a>00259 { <a name="l00260"></a><a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#bfdb81f6c1e565052fb2ef085b367bbe">00260</a> ULONG <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#bfdb81f6c1e565052fb2ef085b367bbe">ThreadId</a>; <a name="l00261"></a><a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#eafe66d4c5be22d303b52af0c3f98d5c">00261</a> HANDLE <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#eafe66d4c5be22d303b52af0c3f98d5c">ThreadHandle</a>; <a name="l00262"></a><a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#74ce05151e351eeb4584b6fd9615aa71">00262</a> CONTEXT <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#74ce05151e351eeb4584b6fd9615aa71">Context</a>; <a name="l00263"></a><a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#578573bd2b2f41b43337ae0477fdb813">00263</a> ULONG <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#578573bd2b2f41b43337ae0477fdb813">SizeOfContext</a>; <a name="l00264"></a><a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#a0d6e6f94d30630803053eba4141f47d">00264</a> ULONG64 <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#a0d6e6f94d30630803053eba4141f47d">StackBase</a>; <a name="l00265"></a><a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#05e3240ba10a2acbfe6c365dc45fa4c1">00265</a> ULONG64 <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html#05e3240ba10a2acbfe6c365dc45fa4c1">StackEnd</a>; <a name="l00266"></a>00266 }; <a name="l00267"></a>00267 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html">MINIDUMP_THREAD_CALLBACK</a>* <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html">PMINIDUMP_THREAD_CALLBACK</a>; <a name="l00268"></a>00268 <a name="l00269"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html">00269</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html">MINIDUMP_THREAD_EX_CALLBACK</a> <a name="l00270"></a>00270 { <a name="l00271"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#ef944781aecd85c72a4bf68b930c554d">00271</a> ULONG <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#ef944781aecd85c72a4bf68b930c554d">ThreadId</a>; <a name="l00272"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#29ce1b77be02a8fdabe9f3eee142b1f1">00272</a> HANDLE <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#29ce1b77be02a8fdabe9f3eee142b1f1">ThreadHandle</a>; <a name="l00273"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#a5c23a927c7c3d89cf89818ce642dd0d">00273</a> CONTEXT <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#a5c23a927c7c3d89cf89818ce642dd0d">Context</a>; <a name="l00274"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#45d9fb3beff7a97a299a78f8a0ce85ad">00274</a> ULONG <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#45d9fb3beff7a97a299a78f8a0ce85ad">SizeOfContext</a>; <a name="l00275"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#d54abadad9c505039430c94e4ccf8bb6">00275</a> ULONG64 <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#d54abadad9c505039430c94e4ccf8bb6">StackBase</a>; <a name="l00276"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#e2376ed8238c6adf0291ee680426e705">00276</a> ULONG64 <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#e2376ed8238c6adf0291ee680426e705">StackEnd</a>; <a name="l00277"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#9b510353037054617799c53b47dba071">00277</a> ULONG64 <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#9b510353037054617799c53b47dba071">BackingStoreBase</a>; <a name="l00278"></a><a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#26e051994b3afa67e6e457aa8f6d5642">00278</a> ULONG64 <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html#26e051994b3afa67e6e457aa8f6d5642">BackingStoreEnd</a>; <a name="l00279"></a>00279 }; <a name="l00280"></a>00280 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html">MINIDUMP_THREAD_EX_CALLBACK</a>* <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html">PMINIDUMP_THREAD_EX_CALLBACK</a>; <a name="l00281"></a>00281 <a name="l00282"></a>00282 <span class="preprocessor">#include <winver.h></span> <a name="l00283"></a>00283 <span class="preprocessor">#include "sanity.inc"</span> <a name="l00284"></a>00284 <a name="l00285"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html">00285</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html">MINIDUMP_MODULE_CALLBACK</a> <a name="l00286"></a>00286 { <a name="l00287"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#ad856d49b8221e22a1e1609a062cb5cc">00287</a> PWCHAR <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#ad856d49b8221e22a1e1609a062cb5cc">FullPath</a>; <a name="l00288"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#3874d962ad1f90e83802c9bd207cfd35">00288</a> ULONG64 <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#3874d962ad1f90e83802c9bd207cfd35">BaseOfImage</a>; <a name="l00289"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#bbf69c71cb173f957fbe5d3814e600ea">00289</a> ULONG <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#bbf69c71cb173f957fbe5d3814e600ea">SizeOfImage</a>; <a name="l00290"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#7157618e023037dcec496f3731f4e557">00290</a> ULONG <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#7157618e023037dcec496f3731f4e557">CheckSum</a>; <a name="l00291"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#4adb84db887e67a349e1594e7d048bbb">00291</a> ULONG <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#4adb84db887e67a349e1594e7d048bbb">TimeDateStamp</a>; <a name="l00292"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#9acc871e03122d8e0f7a6a6291ef8015">00292</a> VS_FIXEDFILEINFO <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#9acc871e03122d8e0f7a6a6291ef8015">VersionInfo</a>; <a name="l00293"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#89bdad12cecded98cfee540d760c8076">00293</a> PVOID <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#89bdad12cecded98cfee540d760c8076">CvRecord</a>; <a name="l00294"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#48595c46dafb07932f13516c95790bcc">00294</a> ULONG <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#48595c46dafb07932f13516c95790bcc">SizeOfCvRecord</a>; <a name="l00295"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#f019d4f81f64a30b1b3c9c55098046f6">00295</a> PVOID <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#f019d4f81f64a30b1b3c9c55098046f6">MiscRecord</a>; <a name="l00296"></a><a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#e72a946e014c6936447df307ca11946c">00296</a> ULONG <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html#e72a946e014c6936447df307ca11946c">SizeOfMiscRecord</a>; <a name="l00297"></a>00297 }; <a name="l00298"></a>00298 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html">MINIDUMP_MODULE_CALLBACK</a>* <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html">PMINIDUMP_MODULE_CALLBACK</a>; <a name="l00299"></a>00299 <a name="l00300"></a><a class="code" href="structMINIDUMP__INCLUDE__THREAD__CALLBACK.html">00300</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__INCLUDE__THREAD__CALLBACK.html">MINIDUMP_INCLUDE_THREAD_CALLBACK</a> <a name="l00301"></a>00301 { <a name="l00302"></a><a class="code" href="structMINIDUMP__INCLUDE__THREAD__CALLBACK.html#a5ba21281fbf8ddfe602aa2d73072ba4">00302</a> ULONG <a class="code" href="structMINIDUMP__INCLUDE__THREAD__CALLBACK.html#a5ba21281fbf8ddfe602aa2d73072ba4">ThreadId</a>; <a name="l00303"></a>00303 }; <a name="l00304"></a>00304 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__INCLUDE__THREAD__CALLBACK.html">MINIDUMP_INCLUDE_THREAD_CALLBACK</a>* <a class="code" href="structMINIDUMP__INCLUDE__THREAD__CALLBACK.html">PMINIDUMP_INCLUDE_THREAD_CALLBACK</a>; <a name="l00305"></a>00305 <a name="l00306"></a><a class="code" href="structMINIDUMP__INCLUDE__MODULE__CALLBACK.html">00306</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__INCLUDE__MODULE__CALLBACK.html">MINIDUMP_INCLUDE_MODULE_CALLBACK</a> <a name="l00307"></a>00307 { <a name="l00308"></a><a class="code" href="structMINIDUMP__INCLUDE__MODULE__CALLBACK.html#7f45265383fc92b5b74140f1b32c49d7">00308</a> ULONG64 <a class="code" href="structMINIDUMP__INCLUDE__MODULE__CALLBACK.html#7f45265383fc92b5b74140f1b32c49d7">BaseOfImage</a>; <a name="l00309"></a>00309 }; <a name="l00310"></a>00310 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__INCLUDE__MODULE__CALLBACK.html">MINIDUMP_INCLUDE_MODULE_CALLBACK</a>* <a class="code" href="structMINIDUMP__INCLUDE__MODULE__CALLBACK.html">PMINIDUMP_INCLUDE_MODULE_CALLBACK</a>; <a name="l00311"></a>00311 <a name="l00312"></a>00312 <a name="l00313"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html">00313</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html">MINIDUMP_CALLBACK_INPUT</a> <a name="l00314"></a>00314 { <a name="l00315"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#d0304c796514f6274c2a0f212f6a9675">00315</a> ULONG <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#d0304c796514f6274c2a0f212f6a9675">ProcessId</a>; <a name="l00316"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#f2b4910263c7ba52bca1d089200ebb19">00316</a> HANDLE <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#f2b4910263c7ba52bca1d089200ebb19">ProcessHandle</a>; <a name="l00317"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#5853718dd0eaa10934c54231420c054d">00317</a> ULONG <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#5853718dd0eaa10934c54231420c054d">CallbackType</a>; <a name="l00318"></a>00318 <span class="keyword">union </span> <a name="l00319"></a>00319 { <a name="l00320"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#f2c693f6a26a5b389c957a3f7e6fec7f">00320</a> <a class="code" href="structMINIDUMP__THREAD__CALLBACK.html">MINIDUMP_THREAD_CALLBACK</a> <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#f2c693f6a26a5b389c957a3f7e6fec7f">Thread</a>; <a name="l00321"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#084ef2080069d85709d9eaddda84f9e1">00321</a> <a class="code" href="structMINIDUMP__THREAD__EX__CALLBACK.html">MINIDUMP_THREAD_EX_CALLBACK</a> <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#084ef2080069d85709d9eaddda84f9e1">ThreadEx</a>; <a name="l00322"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#9d63a72ec99975320ef4b2ef57849429">00322</a> <a class="code" href="structMINIDUMP__MODULE__CALLBACK.html">MINIDUMP_MODULE_CALLBACK</a> <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#9d63a72ec99975320ef4b2ef57849429">Module</a>; <a name="l00323"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#bc89e7b6e741f8bdafbf219073a23389">00323</a> <a class="code" href="structMINIDUMP__INCLUDE__THREAD__CALLBACK.html">MINIDUMP_INCLUDE_THREAD_CALLBACK</a> <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#bc89e7b6e741f8bdafbf219073a23389">IncludeThread</a>; <a name="l00324"></a><a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#997c2d7ae0dca88e0182533f0cfda0e0">00324</a> <a class="code" href="structMINIDUMP__INCLUDE__MODULE__CALLBACK.html">MINIDUMP_INCLUDE_MODULE_CALLBACK</a> <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html#997c2d7ae0dca88e0182533f0cfda0e0">IncludeModule</a>; <a name="l00325"></a>00325 }; <a name="l00326"></a>00326 }; <a name="l00327"></a>00327 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html">MINIDUMP_CALLBACK_INPUT</a>* <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html">PMINIDUMP_CALLBACK_INPUT</a>; <a name="l00328"></a>00328 <a name="l00329"></a>00329 <span class="keyword">enum</span> MODULE_WRITE_FLAGS <a name="l00330"></a>00330 { <a name="l00331"></a>00331 ModuleWriteModule = 0x0001, <a name="l00332"></a>00332 ModuleWriteDataSeg = 0x0002, <a name="l00333"></a>00333 ModuleWriteMiscRecord = 0x0004, <a name="l00334"></a>00334 ModuleWriteCvRecord = 0x0008, <a name="l00335"></a>00335 ModuleReferencedByMemory = 0x0010 <a name="l00336"></a>00336 }; <a name="l00337"></a>00337 <a name="l00338"></a>00338 <span class="keyword">enum</span> THREAD_WRITE_FLAGS <a name="l00339"></a>00339 { <a name="l00340"></a>00340 ThreadWriteThread = 0x0001, <a name="l00341"></a>00341 ThreadWriteStack = 0x0002, <a name="l00342"></a>00342 ThreadWriteContext = 0x0004, <a name="l00343"></a>00343 ThreadWriteBackingStore = 0x0008, <a name="l00344"></a>00344 ThreadWriteInstructionWindow = 0x0010, <a name="l00345"></a>00345 ThreadWriteThreadData = 0x0020 <a name="l00346"></a>00346 }; <a name="l00347"></a>00347 <a name="l00348"></a><a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html">00348</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html">MINIDUMP_CALLBACK_OUTPUT</a> <a name="l00349"></a>00349 { <a name="l00350"></a>00350 <span class="keyword">union </span> <a name="l00351"></a>00351 { <a name="l00352"></a><a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html#bdec76cb658e25d999dedeb2ae18e322">00352</a> ULONG <a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html#bdec76cb658e25d999dedeb2ae18e322">ModuleWriteFlags</a>; <a name="l00353"></a><a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html#c6ae5783d277d617e2f19114e368738d">00353</a> ULONG <a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html#c6ae5783d277d617e2f19114e368738d">ThreadWriteFlags</a>; <a name="l00354"></a>00354 }; <a name="l00355"></a>00355 }; <a name="l00356"></a>00356 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html">MINIDUMP_CALLBACK_OUTPUT</a>* <a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html">PMINIDUMP_CALLBACK_OUTPUT</a>; <a name="l00357"></a>00357 <a name="l00358"></a>00358 <a name="l00359"></a>00359 <span class="keyword">typedef</span> BOOL (CALLBACK* MINIDUMP_CALLBACK_ROUTINE) (PVOID CallbackParam, <a name="l00360"></a>00360 <span class="keyword">const</span> <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html">PMINIDUMP_CALLBACK_INPUT</a> <a class="code" href="structMINIDUMP__CALLBACK__INPUT.html">CallbackInput</a>, <a name="l00361"></a>00361 <a class="code" href="structMINIDUMP__CALLBACK__OUTPUT.html">PMINIDUMP_CALLBACK_OUTPUT</a> CallbackOutput); <a name="l00362"></a>00362 <a name="l00363"></a><a class="code" href="structMINIDUMP__CALLBACK__INFORMATION.html">00363</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__CALLBACK__INFORMATION.html">MINIDUMP_CALLBACK_INFORMATION</a> <a name="l00364"></a>00364 { <a name="l00365"></a><a class="code" href="structMINIDUMP__CALLBACK__INFORMATION.html#1fb79df6d6cba0f87cb274c4088eb8d3">00365</a> MINIDUMP_CALLBACK_ROUTINE <a class="code" href="structMINIDUMP__CALLBACK__INFORMATION.html#1fb79df6d6cba0f87cb274c4088eb8d3">CallbackRoutine</a>; <a name="l00366"></a><a class="code" href="structMINIDUMP__CALLBACK__INFORMATION.html#149d8e8fc9e0e06a7c04b4159ddb62b8">00366</a> PVOID <a class="code" href="structMINIDUMP__CALLBACK__INFORMATION.html#149d8e8fc9e0e06a7c04b4159ddb62b8">CallbackParam</a>; <a name="l00367"></a>00367 }; <a name="l00368"></a>00368 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__CALLBACK__INFORMATION.html">MINIDUMP_CALLBACK_INFORMATION</a>* <a class="code" href="structMINIDUMP__CALLBACK__INFORMATION.html">PMINIDUMP_CALLBACK_INFORMATION</a>; <a name="l00369"></a>00369 <a name="l00370"></a>00370 <span class="keyword">enum</span> MINIDUMP_TYPE <a name="l00371"></a>00371 { <a name="l00372"></a>00372 MiniDumpNormal = 0x0000, <a name="l00373"></a>00373 MiniDumpWithDataSegs = 0x0001, <a name="l00374"></a>00374 MiniDumpWithFullMemory = 0x0002, <a name="l00375"></a>00375 MiniDumpWithHandleData = 0x0004, <a name="l00376"></a>00376 MiniDumpFilterMemory = 0x0008, <a name="l00377"></a>00377 MiniDumpScanMemory = 0x0010, <a name="l00378"></a>00378 MiniDumpWithUnloadedModules = 0x0020, <a name="l00379"></a>00379 MiniDumpWithIndirectlyReferencedMemory = 0x0040, <a name="l00380"></a>00380 MiniDumpFilterModulePaths = 0x0080, <a name="l00381"></a>00381 MiniDumpWithProcessThreadData = 0x0100, <a name="l00382"></a>00382 MiniDumpWithPrivateReadWriteMemory = 0x0200 <a name="l00383"></a>00383 }; <a name="l00384"></a>00384 <a name="l00385"></a>00385 <span class="keyword">enum</span> MINIDUMP_STREAM_TYPE <a name="l00386"></a>00386 { <a name="l00387"></a>00387 UnusedStream = 0, <a name="l00388"></a>00388 ReservedStream0 = 1, <a name="l00389"></a>00389 ReservedStream1 = 2, <a name="l00390"></a>00390 ThreadListStream = 3, <a name="l00391"></a>00391 ModuleListStream = 4, <a name="l00392"></a>00392 MemoryListStream = 5, <a name="l00393"></a>00393 ExceptionStream = 6, <a name="l00394"></a>00394 SystemInfoStream = 7, <a name="l00395"></a>00395 ThreadExListStream = 8, <a name="l00396"></a>00396 Memory64ListStream = 9, <a name="l00397"></a>00397 CommentStreamA = 10, <a name="l00398"></a>00398 CommentStreamW = 11, <a name="l00399"></a>00399 HandleDataStream = 12, <a name="l00400"></a>00400 FunctionTableStream = 13, <a name="l00401"></a>00401 UnloadedModuleListStream = 14, <a name="l00402"></a>00402 MiscInfoStream = 15, <a name="l00403"></a>00403 LastReservedStream = 0xffff <a name="l00404"></a>00404 }; <a name="l00405"></a>00405 <a name="l00406"></a><a class="code" href="structMINIDUMP__LOCATION__DESCRIPTOR.html">00406</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__LOCATION__DESCRIPTOR.html">MINIDUMP_LOCATION_DESCRIPTOR</a> <a name="l00407"></a>00407 { <a name="l00408"></a><a class="code" href="structMINIDUMP__LOCATION__DESCRIPTOR.html#822571a90c88de58c9feb020802baa87">00408</a> <a class="code" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e" title="unsigned 32-bit integer (0..4 294 967 295)">uint32</a> <a class="code" href="structMINIDUMP__LOCATION__DESCRIPTOR.html#822571a90c88de58c9feb020802baa87">DataSize</a>; <a name="l00409"></a><a class="code" href="structMINIDUMP__LOCATION__DESCRIPTOR.html#70dcb1b534a4fe401e7177ca098b38ec">00409</a> <a class="code" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e" title="unsigned 32-bit integer (0..4 294 967 295)">uint32</a> <a class="code" href="structMINIDUMP__LOCATION__DESCRIPTOR.html#70dcb1b534a4fe401e7177ca098b38ec">Rva</a>; <a name="l00410"></a>00410 }; <a name="l00411"></a>00411 <a name="l00412"></a><a class="code" href="structMINIDUMP__MEMORY__DESCRIPTOR.html">00412</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__MEMORY__DESCRIPTOR.html">MINIDUMP_MEMORY_DESCRIPTOR</a> <a name="l00413"></a>00413 { <a name="l00414"></a><a class="code" href="structMINIDUMP__MEMORY__DESCRIPTOR.html#cbb4412931c511406c0c2a230bf73904">00414</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structMINIDUMP__MEMORY__DESCRIPTOR.html#cbb4412931c511406c0c2a230bf73904">StartOfMemoryRange</a>; <a name="l00415"></a><a class="code" href="structMINIDUMP__MEMORY__DESCRIPTOR.html#4ee410c410207ff4a18fddd82127a7e4">00415</a> <a class="code" href="structMINIDUMP__LOCATION__DESCRIPTOR.html">MINIDUMP_LOCATION_DESCRIPTOR</a> <a class="code" href="structMINIDUMP__MEMORY__DESCRIPTOR.html#4ee410c410207ff4a18fddd82127a7e4">Memory</a>; <a name="l00416"></a>00416 }; <a name="l00417"></a>00417 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__MEMORY__DESCRIPTOR.html">MINIDUMP_MEMORY_DESCRIPTOR</a>* <a class="code" href="structMINIDUMP__MEMORY__DESCRIPTOR.html">PMINIDUMP_MEMORY_DESCRIPTOR</a>; <a name="l00418"></a>00418 <a name="l00419"></a><a class="code" href="structMINIDUMP__MEMORY__LIST.html">00419</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__MEMORY__LIST.html">MINIDUMP_MEMORY_LIST</a> <a name="l00420"></a>00420 { <a name="l00421"></a><a class="code" href="structMINIDUMP__MEMORY__LIST.html#2d2c0ce9850dd41f5d488e2e923624c0">00421</a> ULONG32 <a class="code" href="structMINIDUMP__MEMORY__LIST.html#2d2c0ce9850dd41f5d488e2e923624c0">NumberOfMemoryRanges</a>; <a name="l00422"></a>00422 <span class="comment">/*MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[];*/</span> <a name="l00423"></a>00423 }; <a name="l00424"></a>00424 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__MEMORY__LIST.html">MINIDUMP_MEMORY_LIST</a>* <a class="code" href="structMINIDUMP__MEMORY__LIST.html">PMINIDUMP_MEMORY_LIST</a>; <a name="l00425"></a>00425 <a name="l00426"></a><a class="code" href="structMINIDUMP__HEADER.html">00426</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__HEADER.html">MINIDUMP_HEADER</a> <a name="l00427"></a>00427 { <a name="l00428"></a><a class="code" href="structMINIDUMP__HEADER.html#0279f710fbc05b6aeb9d4e9e948412b3">00428</a> ULONG32 <a class="code" href="structMINIDUMP__HEADER.html#0279f710fbc05b6aeb9d4e9e948412b3">Signature</a>; <a name="l00429"></a><a class="code" href="structMINIDUMP__HEADER.html#c31cfc9f341a8087133ceca640d2a28c">00429</a> ULONG32 <a class="code" href="structMINIDUMP__HEADER.html#c31cfc9f341a8087133ceca640d2a28c">Version</a>; <a name="l00430"></a><a class="code" href="structMINIDUMP__HEADER.html#ca7691ba2432f73044fac615c2809bd0">00430</a> ULONG32 <a class="code" href="structMINIDUMP__HEADER.html#ca7691ba2432f73044fac615c2809bd0">NumberOfStreams</a>; <a name="l00431"></a><a class="code" href="structMINIDUMP__HEADER.html#358ff966d767731da4e66c2488b5e18d">00431</a> <a class="code" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e" title="unsigned 32-bit integer (0..4 294 967 295)">uint32</a> <a class="code" href="structMINIDUMP__HEADER.html#358ff966d767731da4e66c2488b5e18d">StreamDirectoryRva</a>; <a name="l00432"></a><a class="code" href="structMINIDUMP__HEADER.html#8e886d1bf1d2ccbfba8e47527f373bcd">00432</a> ULONG32 <a class="code" href="structMINIDUMP__HEADER.html#8e886d1bf1d2ccbfba8e47527f373bcd">CheckSum</a>; <a name="l00433"></a>00433 <span class="keyword">union </span> <a name="l00434"></a>00434 { <a name="l00435"></a><a class="code" href="structMINIDUMP__HEADER.html#ed9825160ebef1bbf7769e79ede46aac">00435</a> ULONG32 <a class="code" href="structMINIDUMP__HEADER.html#ed9825160ebef1bbf7769e79ede46aac">Reserved</a>; <a name="l00436"></a><a class="code" href="structMINIDUMP__HEADER.html#508bfe50a8f1f0c37cda842304d23d5c">00436</a> ULONG32 <a class="code" href="structMINIDUMP__HEADER.html#508bfe50a8f1f0c37cda842304d23d5c">TimeDateStamp</a>; <a name="l00437"></a>00437 }; <a name="l00438"></a><a class="code" href="structMINIDUMP__HEADER.html#06ec9f25046973a839d4ae1fca754642">00438</a> <a class="code" href="group__util.html#g058a7c8f752204f23318dc1dcab45b1c" title="unsigned 64-bit integer">uint64</a> <a class="code" href="structMINIDUMP__HEADER.html#06ec9f25046973a839d4ae1fca754642">Flags</a>; <a name="l00439"></a>00439 }; <a name="l00440"></a>00440 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__HEADER.html">MINIDUMP_HEADER</a>* <a class="code" href="structMINIDUMP__HEADER.html">PMINIDUMP_HEADER</a>; <a name="l00441"></a>00441 <a name="l00442"></a><a class="code" href="structMINIDUMP__DIRECTORY.html">00442</a> <span class="keyword">struct </span><a class="code" href="structMINIDUMP__DIRECTORY.html">MINIDUMP_DIRECTORY</a> <a name="l00443"></a>00443 { <a name="l00444"></a><a class="code" href="structMINIDUMP__DIRECTORY.html#e0b169797746112a76a4c1bd3d614d6d">00444</a> ULONG32 <a class="code" href="structMINIDUMP__DIRECTORY.html#e0b169797746112a76a4c1bd3d614d6d">StreamType</a>; <a name="l00445"></a><a class="code" href="structMINIDUMP__DIRECTORY.html#7e0e309a9e7c63c1205843a34fa0006a">00445</a> <a class="code" href="structMINIDUMP__LOCATION__DESCRIPTOR.html">MINIDUMP_LOCATION_DESCRIPTOR</a> <a class="code" href="structMINIDUMP__DIRECTORY.html#7e0e309a9e7c63c1205843a34fa0006a">Location</a>; <a name="l00446"></a>00446 }; <a name="l00447"></a>00447 <span class="keyword">typedef</span> <a class="code" href="structMINIDUMP__DIRECTORY.html">MINIDUMP_DIRECTORY</a>* <a class="code" href="structMINIDUMP__DIRECTORY.html">PMINIDUMP_DIRECTORY</a>; <a name="l00448"></a>00448 <a name="l00449"></a>00449 <span class="preprocessor">#define CS_API_NAME DbgHelp</span> <a name="l00450"></a>00450 <span class="preprocessor"></span><span class="preprocessor">#define CS_API_FUNCTIONS "csutil/win32/DbgHelpAPI.fun"</span> <a name="l00451"></a>00451 <span class="preprocessor"></span> <a name="l00452"></a>00452 <span class="preprocessor">#include "APIdeclare.inc"</span> <a name="l00453"></a>00453 <a name="l00454"></a>00454 <span class="preprocessor">#endif //__CSUTIL_DEBGHELPAPI_H__</span> </pre></div><hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>