Hex Artifact Content

Not logged in

Artifact bbf16340c786af1a0d8012975dcd055ed9a23a70:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20  ********\..*    
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 69 6d 61 67 65             image
0070: 68 6c 70 2e 64 20 20 20 20 20 20 20 20 20 20 20  hlp.d           
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20     *..*         
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20           *..*   
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61           Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57  ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20  indows headers  
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  ..*             
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79                by
01e0: 20 53 74 65 77 61 72 74 20 47 6f 72 64 6f 6e 20   Stewart Gordon 
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20            *..*  
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20       *..*       
0260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0270: 50 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c  Placed into publ
0280: 69 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20  ic domain       
0290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
02a0: 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  *..\************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f  ***********/..mo
02f0: 64 75 6c 65 20 77 69 6e 33 32 2e 69 6d 61 67 65  dule win32.image
0300: 68 6c 70 3b 0d 0a 0d 0a 2f 2a 20 43 6f 6d 6d 65  hlp;..../* Comme
0310: 6e 74 20 66 72 6f 6d 20 4d 69 6e 47 57 0d 0a 09  nt from MinGW...
0320: 4e 4f 54 45 3a 20 54 68 69 73 20 73 74 72 69 63  NOTE: This stric
0330: 74 6c 79 20 64 6f 65 73 20 6e 6f 74 20 62 65 6c  tly does not bel
0340: 6f 6e 67 20 69 6e 20 74 68 65 20 57 69 6e 33 32  ong in the Win32
0350: 20 41 50 49 20 73 69 6e 63 65 20 69 74 27 73 0d   API since it's.
0360: 0a 09 72 65 61 6c 6c 79 20 70 61 72 74 20 6f 66  ..really part of
0370: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 2e 20 48   Platform SDK. H
0380: 6f 77 65 76 65 72 2c 20 47 44 42 20 6e 65 65 64  owever, GDB need
0390: 73 20 69 74 20 61 6e 64 20 77 65 20 6d 69 67 68  s it and we migh
03a0: 74 0d 0a 09 61 73 20 77 65 6c 6c 20 70 72 6f 76  t...as well prov
03b0: 69 64 65 20 69 74 20 68 65 72 65 2e 0d 0a 2a 2f  ide it here...*/
03c0: 0d 0a 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f  ....private impo
03d0: 72 74 20 77 69 6e 33 32 2e 77 69 6e 62 61 73 65  rt win32.winbase
03e0: 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0d  , win32.windef;.
03f0: 0a 0d 0a 2f 2f 20 46 49 58 4d 45 3a 20 63 68 65  ...// FIXME: che
0400: 63 6b 20 74 79 70 65 73 20 6f 66 20 63 6f 6e 73  ck types of cons
0410: 74 61 6e 74 73 0d 0a 0d 0a 63 6f 6e 73 74 20 41  tants....const A
0420: 50 49 5f 56 45 52 53 49 4f 4e 5f 4e 55 4d 42 45  PI_VERSION_NUMBE
0430: 52 20 3d 20 37 3b 0d 0a 0d 0a 63 6f 6e 73 74 20  R = 7;....const 
0440: 42 49 4e 44 5f 4e 4f 5f 42 4f 55 4e 44 5f 49 4d  BIND_NO_BOUND_IM
0450: 50 4f 52 54 53 20 20 3d 20 31 3b 0d 0a 63 6f 6e  PORTS  = 1;..con
0460: 73 74 20 42 49 4e 44 5f 4e 4f 5f 55 50 44 41 54  st BIND_NO_UPDAT
0470: 45 20 20 20 20 20 20 20 20 20 3d 20 32 3b 0d 0a  E         = 2;..
0480: 63 6f 6e 73 74 20 42 49 4e 44 5f 41 4c 4c 5f 49  const BIND_ALL_I
0490: 4d 41 47 45 53 20 20 20 20 20 20 20 20 3d 20 34  MAGES        = 4
04a0: 3b 0d 0a 63 6f 6e 73 74 20 42 49 4e 44 5f 43 41  ;..const BIND_CA
04b0: 43 48 45 5f 49 4d 50 4f 52 54 5f 44 4c 4c 53 20  CHE_IMPORT_DLLS 
04c0: 3d 20 38 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a  = 8;....enum {..
04d0: 09 43 42 41 5f 44 45 46 45 52 52 45 44 5f 53 59  .CBA_DEFERRED_SY
04e0: 4d 42 4f 4c 5f 4c 4f 41 44 5f 53 54 41 52 54 20  MBOL_LOAD_START 
04f0: 3d 20 31 2c 0d 0a 09 43 42 41 5f 44 45 46 45 52  = 1,...CBA_DEFER
0500: 52 45 44 5f 53 59 4d 42 4f 4c 5f 4c 4f 41 44 5f  RED_SYMBOL_LOAD_
0510: 43 4f 4d 50 4c 45 54 45 2c 0d 0a 09 43 42 41 5f  COMPLETE,...CBA_
0520: 44 45 46 45 52 52 45 44 5f 53 59 4d 42 4f 4c 5f  DEFERRED_SYMBOL_
0530: 4c 4f 41 44 5f 46 41 49 4c 55 52 45 2c 0d 0a 09  LOAD_FAILURE,...
0540: 43 42 41 5f 53 59 4d 42 4f 4c 53 5f 55 4e 4c 4f  CBA_SYMBOLS_UNLO
0550: 41 44 45 44 2c 0d 0a 09 43 42 41 5f 44 55 50 4c  ADED,...CBA_DUPL
0560: 49 43 41 54 45 5f 53 59 4d 42 4f 4c 0d 0a 7d 0d  ICATE_SYMBOL..}.
0570: 0a 0d 0a 63 6f 6e 73 74 20 43 45 52 54 5f 50 45  ...const CERT_PE
0580: 5f 49 4d 41 47 45 5f 44 49 47 45 53 54 5f 44 45  _IMAGE_DIGEST_DE
0590: 42 55 47 5f 49 4e 46 4f 20 20 20 20 20 20 3d 20  BUG_INFO      = 
05a0: 31 3b 0d 0a 63 6f 6e 73 74 20 43 45 52 54 5f 50  1;..const CERT_P
05b0: 45 5f 49 4d 41 47 45 5f 44 49 47 45 53 54 5f 52  E_IMAGE_DIGEST_R
05c0: 45 53 4f 55 52 43 45 53 20 20 20 20 20 20 20 3d  ESOURCES       =
05d0: 20 32 3b 0d 0a 63 6f 6e 73 74 20 43 45 52 54 5f   2;..const CERT_
05e0: 50 45 5f 49 4d 41 47 45 5f 44 49 47 45 53 54 5f  PE_IMAGE_DIGEST_
05f0: 41 4c 4c 5f 49 4d 50 4f 52 54 5f 49 4e 46 4f 20  ALL_IMPORT_INFO 
0600: 3d 20 34 3b 0d 0a 63 6f 6e 73 74 20 43 45 52 54  = 4;..const CERT
0610: 5f 50 45 5f 49 4d 41 47 45 5f 44 49 47 45 53 54  _PE_IMAGE_DIGEST
0620: 5f 4e 4f 4e 5f 50 45 5f 49 4e 46 4f 20 20 20 20  _NON_PE_INFO    
0630: 20 3d 20 38 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 43   = 8;....const C
0640: 45 52 54 5f 53 45 43 54 49 4f 4e 5f 54 59 50 45  ERT_SECTION_TYPE
0650: 5f 41 4e 59 20 3d 20 32 35 35 3b 0d 0a 0d 0a 65  _ANY = 255;....e
0660: 6e 75 6d 20 7b 0d 0a 09 43 48 45 43 4b 53 55 4d  num {...CHECKSUM
0670: 5f 53 55 43 43 45 53 53 20 3d 20 30 2c 0d 0a 09  _SUCCESS = 0,...
0680: 43 48 45 43 4b 53 55 4d 5f 4f 50 45 4e 5f 46 41  CHECKSUM_OPEN_FA
0690: 49 4c 55 52 45 2c 0d 0a 09 43 48 45 43 4b 53 55  ILURE,...CHECKSU
06a0: 4d 5f 4d 41 50 5f 46 41 49 4c 55 52 45 2c 0d 0a  M_MAP_FAILURE,..
06b0: 09 43 48 45 43 4b 53 55 4d 5f 4d 41 50 56 49 45  .CHECKSUM_MAPVIE
06c0: 57 5f 46 41 49 4c 55 52 45 2c 0d 0a 09 43 48 45  W_FAILURE,...CHE
06d0: 43 4b 53 55 4d 5f 55 4e 49 43 4f 44 45 5f 46 41  CKSUM_UNICODE_FA
06e0: 49 4c 55 52 45 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73  ILURE..}....cons
06f0: 74 20 49 4d 41 47 45 5f 53 45 50 41 52 41 54 49  t IMAGE_SEPARATI
0700: 4f 4e 20 3d 20 36 35 35 33 36 3b 0d 0a 0d 0a 63  ON = 65536;....c
0710: 6f 6e 73 74 20 53 50 4c 49 54 53 59 4d 5f 52 45  onst SPLITSYM_RE
0720: 4d 4f 56 45 5f 50 52 49 56 41 54 45 20 20 20 20  MOVE_PRIVATE    
0730: 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 53 50 4c 49  = 1;..const SPLI
0740: 54 53 59 4d 5f 45 58 54 52 41 43 54 5f 41 4c 4c  TSYM_EXTRACT_ALL
0750: 20 20 20 20 20 20 20 3d 20 32 3b 0d 0a 63 6f 6e         = 2;..con
0760: 73 74 20 53 50 4c 49 54 53 59 4d 5f 53 59 4d 42  st SPLITSYM_SYMB
0770: 4f 4c 50 41 54 48 5f 49 53 5f 53 52 43 20 3d 20  OLPATH_IS_SRC = 
0780: 34 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 59 4d 46  4;....const SYMF
0790: 5f 4f 4d 41 50 5f 47 45 4e 45 52 41 54 45 44 20  _OMAP_GENERATED 
07a0: 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 53 59 4d 46  = 1;..const SYMF
07b0: 5f 4f 4d 41 50 5f 4d 4f 44 49 46 49 45 44 20 20  _OMAP_MODIFIED  
07c0: 3d 20 32 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 59  = 2;....const SY
07d0: 4d 4f 50 54 5f 43 41 53 45 5f 49 4e 53 45 4e 53  MOPT_CASE_INSENS
07e0: 49 54 49 56 45 20 20 3d 20 20 31 3b 0d 0a 63 6f  ITIVE  =  1;..co
07f0: 6e 73 74 20 53 59 4d 4f 50 54 5f 55 4e 44 4e 41  nst SYMOPT_UNDNA
0800: 4d 45 20 20 20 20 20 20 20 20 20 20 20 3d 20 20  ME           =  
0810: 32 3b 0d 0a 63 6f 6e 73 74 20 53 59 4d 4f 50 54  2;..const SYMOPT
0820: 5f 44 45 46 45 52 52 45 44 5f 4c 4f 41 44 53 20  _DEFERRED_LOADS 
0830: 20 20 20 3d 20 20 34 3b 0d 0a 63 6f 6e 73 74 20     =  4;..const 
0840: 53 59 4d 4f 50 54 5f 4e 4f 5f 43 50 50 20 20 20  SYMOPT_NO_CPP   
0850: 20 20 20 20 20 20 20 20 20 3d 20 20 38 3b 0d 0a           =  8;..
0860: 63 6f 6e 73 74 20 53 59 4d 4f 50 54 5f 4c 4f 41  const SYMOPT_LOA
0870: 44 5f 4c 49 4e 45 53 20 20 20 20 20 20 20 20 3d  D_LINES        =
0880: 20 31 36 3b 0d 0a 63 6f 6e 73 74 20 53 59 4d 4f   16;..const SYMO
0890: 50 54 5f 4f 4d 41 50 5f 46 49 4e 44 5f 4e 45 41  PT_OMAP_FIND_NEA
08a0: 52 45 53 54 20 3d 20 33 32 3b 0d 0a 0d 0a 63 6f  REST = 32;....co
08b0: 6e 73 74 20 55 4e 44 4e 41 4d 45 5f 43 4f 4d 50  nst UNDNAME_COMP
08c0: 4c 45 54 45 20 20 20 20 20 20 20 20 20 20 20 20  LETE            
08d0: 20 20 20 3d 20 20 20 20 20 30 3b 0d 0a 63 6f 6e     =     0;..con
08e0: 73 74 20 55 4e 44 4e 41 4d 45 5f 4e 4f 5f 4c 45  st UNDNAME_NO_LE
08f0: 41 44 49 4e 47 5f 55 4e 44 45 52 53 43 4f 52 45  ADING_UNDERSCORE
0900: 53 20 3d 20 20 20 20 20 31 3b 0d 0a 63 6f 6e 73  S =     1;..cons
0910: 74 20 55 4e 44 4e 41 4d 45 5f 4e 4f 5f 4d 53 5f  t UNDNAME_NO_MS_
0920: 4b 45 59 57 4f 52 44 53 20 20 20 20 20 20 20 20  KEYWORDS        
0930: 20 3d 20 20 20 20 20 32 3b 0d 0a 63 6f 6e 73 74   =     2;..const
0940: 20 55 4e 44 4e 41 4d 45 5f 4e 4f 5f 46 55 4e 43   UNDNAME_NO_FUNC
0950: 54 49 4f 4e 5f 52 45 54 55 52 4e 53 20 20 20 20  TION_RETURNS    
0960: 3d 20 20 20 20 20 34 3b 0d 0a 63 6f 6e 73 74 20  =     4;..const 
0970: 55 4e 44 4e 41 4d 45 5f 4e 4f 5f 41 4c 4c 4f 43  UNDNAME_NO_ALLOC
0980: 41 54 49 4f 4e 5f 4d 4f 44 45 4c 20 20 20 20 3d  ATION_MODEL    =
0990: 20 20 20 20 20 38 3b 0d 0a 63 6f 6e 73 74 20 55       8;..const U
09a0: 4e 44 4e 41 4d 45 5f 4e 4f 5f 41 4c 4c 4f 43 41  NDNAME_NO_ALLOCA
09b0: 54 49 4f 4e 5f 4c 41 4e 47 55 41 47 45 20 3d 20  TION_LANGUAGE = 
09c0: 20 20 20 31 36 3b 0d 0a 63 6f 6e 73 74 20 55 4e     16;..const UN
09d0: 44 4e 41 4d 45 5f 4e 4f 5f 4d 53 5f 54 48 49 53  DNAME_NO_MS_THIS
09e0: 54 59 50 45 20 20 20 20 20 20 20 20 20 3d 20 20  TYPE         =  
09f0: 20 20 33 32 3b 0d 0a 63 6f 6e 73 74 20 55 4e 44    32;..const UND
0a00: 4e 41 4d 45 5f 4e 4f 5f 43 56 5f 54 48 49 53 54  NAME_NO_CV_THIST
0a10: 59 50 45 20 20 20 20 20 20 20 20 20 3d 20 20 20  YPE         =   
0a20: 20 36 34 3b 0d 0a 63 6f 6e 73 74 20 55 4e 44 4e   64;..const UNDN
0a30: 41 4d 45 5f 4e 4f 5f 54 48 49 53 54 59 50 45 20  AME_NO_THISTYPE 
0a40: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 20 20             =    
0a50: 39 36 3b 0d 0a 63 6f 6e 73 74 20 55 4e 44 4e 41  96;..const UNDNA
0a60: 4d 45 5f 4e 4f 5f 41 43 43 45 53 53 5f 53 50 45  ME_NO_ACCESS_SPE
0a70: 43 49 46 49 45 52 53 20 20 20 3d 20 20 20 31 32  CIFIERS   =   12
0a80: 38 3b 0d 0a 63 6f 6e 73 74 20 55 4e 44 4e 41 4d  8;..const UNDNAM
0a90: 45 5f 4e 4f 5f 54 48 52 4f 57 5f 53 49 47 4e 41  E_NO_THROW_SIGNA
0aa0: 54 55 52 45 53 20 20 20 20 3d 20 20 20 32 35 36  TURES    =   256
0ab0: 3b 0d 0a 63 6f 6e 73 74 20 55 4e 44 4e 41 4d 45  ;..const UNDNAME
0ac0: 5f 4e 4f 5f 4d 45 4d 42 45 52 5f 54 59 50 45 20  _NO_MEMBER_TYPE 
0ad0: 20 20 20 20 20 20 20 20 3d 20 20 20 35 31 32 3b          =   512;
0ae0: 0d 0a 63 6f 6e 73 74 20 55 4e 44 4e 41 4d 45 5f  ..const UNDNAME_
0af0: 4e 4f 5f 52 45 54 55 52 4e 5f 55 44 54 5f 4d 4f  NO_RETURN_UDT_MO
0b00: 44 45 4c 20 20 20 20 3d 20 20 31 30 32 34 3b 0d  DEL    =  1024;.
0b10: 0a 63 6f 6e 73 74 20 55 4e 44 4e 41 4d 45 5f 33  .const UNDNAME_3
0b20: 32 5f 42 49 54 5f 44 45 43 4f 44 45 20 20 20 20  2_BIT_DECODE    
0b30: 20 20 20 20 20 20 3d 20 20 32 30 34 38 3b 0d 0a        =  2048;..
0b40: 63 6f 6e 73 74 20 55 4e 44 4e 41 4d 45 5f 4e 41  const UNDNAME_NA
0b50: 4d 45 5f 4f 4e 4c 59 20 20 20 20 20 20 20 20 20  ME_ONLY         
0b60: 20 20 20 20 20 3d 20 20 34 30 39 36 3b 0d 0a 63       =  4096;..c
0b70: 6f 6e 73 74 20 55 4e 44 4e 41 4d 45 5f 4e 4f 5f  onst UNDNAME_NO_
0b80: 41 52 47 55 4d 45 4e 54 53 20 20 20 20 20 20 20  ARGUMENTS       
0b90: 20 20 20 20 3d 20 20 38 31 39 32 3b 0d 0a 63 6f      =  8192;..co
0ba0: 6e 73 74 20 55 4e 44 4e 41 4d 45 5f 4e 4f 5f 53  nst UNDNAME_NO_S
0bb0: 50 45 43 49 41 4c 5f 53 59 4d 53 20 20 20 20 20  PECIAL_SYMS     
0bc0: 20 20 20 3d 20 31 36 33 38 34 3b 0d 0a 0d 0a 65     = 16384;....e
0bd0: 6e 75 6d 20 49 4d 41 47 45 48 4c 50 5f 53 54 41  num IMAGEHLP_STA
0be0: 54 55 53 5f 52 45 41 53 4f 4e 20 7b 0d 0a 09 42  TUS_REASON {...B
0bf0: 69 6e 64 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0d  indOutOfMemory,.
0c00: 0a 09 42 69 6e 64 52 76 61 54 6f 56 61 46 61 69  ..BindRvaToVaFai
0c10: 6c 65 64 2c 0d 0a 09 42 69 6e 64 4e 6f 52 6f 6f  led,...BindNoRoo
0c20: 6d 49 6e 49 6d 61 67 65 2c 0d 0a 09 42 69 6e 64  mInImage,...Bind
0c30: 49 6d 70 6f 72 74 4d 6f 64 75 6c 65 46 61 69 6c  ImportModuleFail
0c40: 65 64 2c 0d 0a 09 42 69 6e 64 49 6d 70 6f 72 74  ed,...BindImport
0c50: 50 72 6f 63 65 64 75 72 65 46 61 69 6c 65 64 2c  ProcedureFailed,
0c60: 0d 0a 09 42 69 6e 64 49 6d 70 6f 72 74 4d 6f 64  ...BindImportMod
0c70: 75 6c 65 2c 0d 0a 09 42 69 6e 64 49 6d 70 6f 72  ule,...BindImpor
0c80: 74 50 72 6f 63 65 64 75 72 65 2c 0d 0a 09 42 69  tProcedure,...Bi
0c90: 6e 64 46 6f 72 77 61 72 64 65 72 2c 0d 0a 09 42  ndForwarder,...B
0ca0: 69 6e 64 46 6f 72 77 61 72 64 65 72 4e 4f 54 2c  indForwarderNOT,
0cb0: 0d 0a 09 42 69 6e 64 49 6d 61 67 65 4d 6f 64 69  ...BindImageModi
0cc0: 66 69 65 64 2c 0d 0a 09 42 69 6e 64 45 78 70 61  fied,...BindExpa
0cd0: 6e 64 46 69 6c 65 48 65 61 64 65 72 73 2c 0d 0a  ndFileHeaders,..
0ce0: 09 42 69 6e 64 49 6d 61 67 65 43 6f 6d 70 6c 65  .BindImageComple
0cf0: 74 65 2c 0d 0a 09 42 69 6e 64 4d 69 73 6d 61 74  te,...BindMismat
0d00: 63 68 65 64 53 79 6d 62 6f 6c 73 2c 0d 0a 09 42  chedSymbols,...B
0d10: 69 6e 64 53 79 6d 62 6f 6c 73 4e 6f 74 55 70 64  indSymbolsNotUpd
0d20: 61 74 65 64 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63  ated..}....struc
0d30: 74 20 4c 4f 41 44 45 44 5f 49 4d 41 47 45 20 7b  t LOADED_IMAGE {
0d40: 0d 0a 09 4c 50 53 54 52 20 20 20 20 20 20 20 20  ...LPSTR        
0d50: 20 20 20 20 20 20 20 20 20 4d 6f 64 75 6c 65 4e           ModuleN
0d60: 61 6d 65 3b 0d 0a 09 48 41 4e 44 4c 45 20 20 20  ame;...HANDLE   
0d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 68 46 69               hFi
0d80: 6c 65 3b 0d 0a 09 50 55 43 48 41 52 20 20 20 20  le;...PUCHAR    
0d90: 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 70              Mapp
0da0: 65 64 41 64 64 72 65 73 73 3b 0d 0a 09 50 49 4d  edAddress;...PIM
0db0: 41 47 45 5f 4e 54 5f 48 45 41 44 45 52 53 20 20  AGE_NT_HEADERS  
0dc0: 20 20 20 46 69 6c 65 48 65 61 64 65 72 3b 0d 0a     FileHeader;..
0dd0: 09 50 49 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f  .PIMAGE_SECTION_
0de0: 48 45 41 44 45 52 20 4c 61 73 74 52 76 61 53 65  HEADER LastRvaSe
0df0: 63 74 69 6f 6e 3b 0d 0a 09 55 4c 4f 4e 47 20 20  ction;...ULONG  
0e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e                 N
0e10: 75 6d 62 65 72 4f 66 53 65 63 74 69 6f 6e 73 3b  umberOfSections;
0e20: 0d 0a 09 50 49 4d 41 47 45 5f 53 45 43 54 49 4f  ...PIMAGE_SECTIO
0e30: 4e 5f 48 45 41 44 45 52 20 53 65 63 74 69 6f 6e  N_HEADER Section
0e40: 73 3b 0d 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20  s;...ULONG      
0e50: 20 20 20 20 20 20 20 20 20 20 20 43 68 61 72 61             Chara
0e60: 63 74 65 72 69 73 74 69 63 73 3b 0d 0a 09 42 4f  cteristics;...BO
0e70: 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 20 20  OLEAN           
0e80: 20 20 20 20 66 53 79 73 74 65 6d 49 6d 61 67 65      fSystemImage
0e90: 3b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20  ;...BOOLEAN     
0ea0: 20 20 20 20 20 20 20 20 20 20 66 44 4f 53 49 6d            fDOSIm
0eb0: 61 67 65 3b 0d 0a 09 4c 49 53 54 5f 45 4e 54 52  age;...LIST_ENTR
0ec0: 59 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 6e  Y            Lin
0ed0: 6b 73 3b 0d 0a 09 55 4c 4f 4e 47 20 20 20 20 20  ks;...ULONG     
0ee0: 20 20 20 20 20 20 20 20 20 20 20 20 53 69 7a 65              Size
0ef0: 4f 66 49 6d 61 67 65 3b 0d 0a 7d 0d 0a 61 6c 69  OfImage;..}..ali
0f00: 61 73 20 4c 4f 41 44 45 44 5f 49 4d 41 47 45 2a  as LOADED_IMAGE*
0f10: 20 50 4c 4f 41 44 45 44 5f 49 4d 41 47 45 3b 0d   PLOADED_IMAGE;.
0f20: 0a 0d 0a 73 74 72 75 63 74 20 49 4d 41 47 45 5f  ...struct IMAGE_
0f30: 44 45 42 55 47 5f 49 4e 46 4f 52 4d 41 54 49 4f  DEBUG_INFORMATIO
0f40: 4e 20 7b 0d 0a 09 4c 49 53 54 5f 45 4e 54 52 59  N {...LIST_ENTRY
0f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0f60: 20 4c 69 73 74 3b 0d 0a 09 44 57 4f 52 44 20 20   List;...DWORD  
0f70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0f80: 20 20 20 20 53 69 7a 65 3b 0d 0a 09 50 56 4f 49      Size;...PVOI
0f90: 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  D               
0fa0: 20 20 20 20 20 20 20 4d 61 70 70 65 64 42 61 73         MappedBas
0fb0: 65 3b 0d 0a 09 55 53 48 4f 52 54 20 20 20 20 20  e;...USHORT     
0fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0fd0: 4d 61 63 68 69 6e 65 3b 0d 0a 09 55 53 48 4f 52  Machine;...USHOR
0fe0: 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  T               
0ff0: 20 20 20 20 20 20 43 68 61 72 61 63 74 65 72 69        Characteri
1000: 73 74 69 63 73 3b 0d 0a 09 44 57 4f 52 44 20 20  stics;...DWORD  
1010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1020: 20 20 20 20 43 68 65 63 6b 53 75 6d 3b 0d 0a 09      CheckSum;...
1030: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20  DWORD           
1040: 20 20 20 20 20 20 20 20 20 20 20 49 6d 61 67 65             Image
1050: 42 61 73 65 3b 0d 0a 09 44 57 4f 52 44 20 20 20  Base;...DWORD   
1060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1070: 20 20 20 53 69 7a 65 4f 66 49 6d 61 67 65 3b 0d     SizeOfImage;.
1080: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20  ..DWORD         
1090: 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 75 6d               Num
10a0: 62 65 72 4f 66 53 65 63 74 69 6f 6e 73 3b 0d 0a  berOfSections;..
10b0: 09 50 49 4d 41 47 45 5f 53 45 43 54 49 4f 4e 5f  .PIMAGE_SECTION_
10c0: 48 45 41 44 45 52 20 20 20 20 20 20 53 65 63 74  HEADER      Sect
10d0: 69 6f 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 20 20  ions;...DWORD   
10e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
10f0: 20 20 20 45 78 70 6f 72 74 65 64 4e 61 6d 65 73     ExportedNames
1100: 53 69 7a 65 3b 0d 0a 09 4c 50 53 54 52 20 20 20  Size;...LPSTR   
1110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1120: 20 20 20 45 78 70 6f 72 74 65 64 4e 61 6d 65 73     ExportedNames
1130: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20  ;...DWORD       
1140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e                 N
1150: 75 6d 62 65 72 4f 66 46 75 6e 63 74 69 6f 6e 54  umberOfFunctionT
1160: 61 62 6c 65 45 6e 74 72 69 65 73 3b 0d 0a 09 50  ableEntries;...P
1170: 49 4d 41 47 45 5f 46 55 4e 43 54 49 4f 4e 5f 45  IMAGE_FUNCTION_E
1180: 4e 54 52 59 20 20 20 20 20 20 46 75 6e 63 74 69  NTRY      Functi
1190: 6f 6e 54 61 62 6c 65 45 6e 74 72 69 65 73 3b 0d  onTableEntries;.
11a0: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20  ..DWORD         
11b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 77               Low
11c0: 65 73 74 46 75 6e 63 74 69 6f 6e 53 74 61 72 74  estFunctionStart
11d0: 69 6e 67 41 64 64 72 65 73 73 3b 0d 0a 09 44 57  ingAddress;...DW
11e0: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20  ORD             
11f0: 20 20 20 20 20 20 20 20 20 48 69 67 68 65 73 74           Highest
1200: 46 75 6e 63 74 69 6f 6e 45 6e 64 69 6e 67 41 64  FunctionEndingAd
1210: 64 72 65 73 73 3b 0d 0a 09 44 57 4f 52 44 20 20  dress;...DWORD  
1220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1230: 20 20 20 20 4e 75 6d 62 65 72 4f 66 46 70 6f 54      NumberOfFpoT
1240: 61 62 6c 65 45 6e 74 72 69 65 73 3b 0d 0a 09 50  ableEntries;...P
1250: 46 50 4f 5f 44 41 54 41 20 20 20 20 20 20 20 20  FPO_DATA        
1260: 20 20 20 20 20 20 20 20 20 20 46 70 6f 54 61 62            FpoTab
1270: 6c 65 45 6e 74 72 69 65 73 3b 0d 0a 09 44 57 4f  leEntries;...DWO
1280: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
1290: 20 20 20 20 20 20 20 20 53 69 7a 65 4f 66 43 6f          SizeOfCo
12a0: 66 66 53 79 6d 62 6f 6c 73 3b 0d 0a 09 50 49 4d  ffSymbols;...PIM
12b0: 41 47 45 5f 43 4f 46 46 5f 53 59 4d 42 4f 4c 53  AGE_COFF_SYMBOLS
12c0: 5f 48 45 41 44 45 52 20 43 6f 66 66 53 79 6d 62  _HEADER CoffSymb
12d0: 6f 6c 73 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20  ols;...DWORD    
12e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12f0: 20 20 53 69 7a 65 4f 66 43 6f 64 65 56 69 65 77    SizeOfCodeView
1300: 53 79 6d 62 6f 6c 73 3b 0d 0a 09 50 56 4f 49 44  Symbols;...PVOID
1310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1320: 20 20 20 20 20 20 43 6f 64 65 56 69 65 77 53 79        CodeViewSy
1330: 6d 62 6f 6c 73 3b 0d 0a 09 4c 50 53 54 52 20 20  mbols;...LPSTR  
1340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1350: 20 20 20 20 49 6d 61 67 65 46 69 6c 65 50 61 74      ImageFilePat
1360: 68 3b 0d 0a 09 4c 50 53 54 52 20 20 20 20 20 20  h;...LPSTR      
1370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1380: 49 6d 61 67 65 46 69 6c 65 4e 61 6d 65 3b 0d 0a  ImageFileName;..
1390: 09 4c 50 53 54 52 20 20 20 20 20 20 20 20 20 20  .LPSTR          
13a0: 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75              Debu
13b0: 67 46 69 6c 65 50 61 74 68 3b 0d 0a 09 44 57 4f  gFilePath;...DWO
13c0: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
13d0: 20 20 20 20 20 20 20 20 54 69 6d 65 44 61 74 65          TimeDate
13e0: 53 74 61 6d 70 3b 0d 0a 09 42 4f 4f 4c 20 20 20  Stamp;...BOOL   
13f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1400: 20 20 20 20 52 6f 6d 49 6d 61 67 65 3b 0d 0a 09      RomImage;...
1410: 50 49 4d 41 47 45 5f 44 45 42 55 47 5f 44 49 52  PIMAGE_DEBUG_DIR
1420: 45 43 54 4f 52 59 20 20 20 20 20 44 65 62 75 67  ECTORY     Debug
1430: 44 69 72 65 63 74 6f 72 79 3b 0d 0a 09 44 57 4f  Directory;...DWO
1440: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
1450: 20 20 20 20 20 20 20 20 4e 75 6d 62 65 72 4f 66          NumberOf
1460: 44 65 62 75 67 44 69 72 65 63 74 6f 72 69 65 73  DebugDirectories
1470: 3b 0d 0a 09 44 57 4f 52 44 5b 33 5d 20 20 20 20  ;...DWORD[3]    
1480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52                 R
1490: 65 73 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61 6c 69  eserved;..}..ali
14a0: 61 73 20 49 4d 41 47 45 5f 44 45 42 55 47 5f 49  as IMAGE_DEBUG_I
14b0: 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 49 4d 41  NFORMATION* PIMA
14c0: 47 45 5f 44 45 42 55 47 5f 49 4e 46 4f 52 4d 41  GE_DEBUG_INFORMA
14d0: 54 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 41 44  TION;....enum AD
14e0: 44 52 45 53 53 5f 4d 4f 44 45 20 7b 0d 0a 09 41  DRESS_MODE {...A
14f0: 64 64 72 4d 6f 64 65 31 36 31 36 2c 0d 0a 09 41  ddrMode1616,...A
1500: 64 64 72 4d 6f 64 65 31 36 33 32 2c 0d 0a 09 41  ddrMode1632,...A
1510: 64 64 72 4d 6f 64 65 52 65 61 6c 2c 0d 0a 09 41  ddrModeReal,...A
1520: 64 64 72 4d 6f 64 65 46 6c 61 74 0d 0a 7d 0d 0a  ddrModeFlat..}..
1530: 0d 0a 73 74 72 75 63 74 20 41 44 44 52 45 53 53  ..struct ADDRESS
1540: 20 7b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20   {...DWORD      
1550: 20 20 4f 66 66 73 65 74 3b 0d 0a 09 57 4f 52 44    Offset;...WORD
1560: 20 20 20 20 20 20 20 20 20 53 65 67 6d 65 6e 74           Segment
1570: 3b 0d 0a 09 41 44 44 52 45 53 53 5f 4d 4f 44 45  ;...ADDRESS_MODE
1580: 20 4d 6f 64 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73   Mode;..}..alias
1590: 20 41 44 44 52 45 53 53 2a 20 4c 50 41 44 44 52   ADDRESS* LPADDR
15a0: 45 53 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4b  ESS;....struct K
15b0: 44 48 45 4c 50 20 7b 0d 0a 09 44 57 4f 52 44 20  DHELP {...DWORD 
15c0: 54 68 72 65 61 64 3b 0d 0a 09 44 57 4f 52 44 20  Thread;...DWORD 
15d0: 54 68 43 61 6c 6c 62 61 63 6b 53 74 61 63 6b 3b  ThCallbackStack;
15e0: 0d 0a 09 44 57 4f 52 44 20 4e 65 78 74 43 61 6c  ...DWORD NextCal
15f0: 6c 62 61 63 6b 3b 0d 0a 09 44 57 4f 52 44 20 46  lback;...DWORD F
1600: 72 61 6d 65 50 6f 69 6e 74 65 72 3b 0d 0a 09 44  ramePointer;...D
1610: 57 4f 52 44 20 4b 69 43 61 6c 6c 55 73 65 72 4d  WORD KiCallUserM
1620: 6f 64 65 3b 0d 0a 09 44 57 4f 52 44 20 4b 65 55  ode;...DWORD KeU
1630: 73 65 72 43 61 6c 6c 62 61 63 6b 44 69 73 70 61  serCallbackDispa
1640: 74 63 68 65 72 3b 0d 0a 09 44 57 4f 52 44 20 53  tcher;...DWORD S
1650: 79 73 74 65 6d 52 61 6e 67 65 53 74 61 72 74 3b  ystemRangeStart;
1660: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4b 44 48 45 4c  ..}..alias KDHEL
1670: 50 2a 20 50 4b 44 48 45 4c 50 3b 0d 0a 0d 0a 73  P* PKDHELP;....s
1680: 74 72 75 63 74 20 53 54 41 43 4b 46 52 41 4d 45  truct STACKFRAME
1690: 20 7b 0d 0a 09 41 44 44 52 45 53 53 20 20 41 64   {...ADDRESS  Ad
16a0: 64 72 50 43 3b 0d 0a 09 41 44 44 52 45 53 53 20  drPC;...ADDRESS 
16b0: 20 41 64 64 72 52 65 74 75 72 6e 3b 0d 0a 09 41   AddrReturn;...A
16c0: 44 44 52 45 53 53 20 20 41 64 64 72 46 72 61 6d  DDRESS  AddrFram
16d0: 65 3b 0d 0a 09 41 44 44 52 45 53 53 20 20 41 64  e;...ADDRESS  Ad
16e0: 64 72 53 74 61 63 6b 3b 0d 0a 09 4c 50 56 4f 49  drStack;...LPVOI
16f0: 44 20 20 20 46 75 6e 63 54 61 62 6c 65 45 6e 74  D   FuncTableEnt
1700: 72 79 3b 0d 0a 09 44 57 4f 52 44 5b 34 5d 20 50  ry;...DWORD[4] P
1710: 61 72 61 6d 73 3b 0d 0a 09 42 4f 4f 4c 20 20 20  arams;...BOOL   
1720: 20 20 46 61 72 3b 0d 0a 09 42 4f 4f 4c 20 20 20    Far;...BOOL   
1730: 20 20 56 69 72 74 75 61 6c 3b 0d 0a 09 44 57 4f    Virtual;...DWO
1740: 52 44 5b 33 5d 20 52 65 73 65 72 76 65 64 3b 0d  RD[3] Reserved;.
1750: 0a 09 4b 44 48 45 4c 50 20 20 20 4b 64 48 65 6c  ..KDHELP   KdHel
1760: 70 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 54 41  p;..}..alias STA
1770: 43 4b 46 52 41 4d 45 2a 20 4c 50 53 54 41 43 4b  CKFRAME* LPSTACK
1780: 46 52 41 4d 45 3b 0d 0a 0d 0a 73 74 72 75 63 74  FRAME;....struct
1790: 20 41 50 49 5f 56 45 52 53 49 4f 4e 20 7b 0d 0a   API_VERSION {..
17a0: 09 55 53 48 4f 52 54 20 4d 61 6a 6f 72 56 65 72  .USHORT MajorVer
17b0: 73 69 6f 6e 3b 0d 0a 09 55 53 48 4f 52 54 20 4d  sion;...USHORT M
17c0: 69 6e 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 09 55  inorVersion;...U
17d0: 53 48 4f 52 54 20 52 65 76 69 73 69 6f 6e 3b 0d  SHORT Revision;.
17e0: 0a 09 55 53 48 4f 52 54 20 52 65 73 65 72 76 65  ..USHORT Reserve
17f0: 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 41 50 49  d;..}..alias API
1800: 5f 56 45 52 53 49 4f 4e 2a 20 4c 50 41 50 49 5f  _VERSION* LPAPI_
1810: 56 45 52 53 49 4f 4e 3b 0d 0a 0d 0a 65 6e 75 6d  VERSION;....enum
1820: 20 53 59 4d 5f 54 59 50 45 20 7b 0d 0a 09 53 79   SYM_TYPE {...Sy
1830: 6d 4e 6f 6e 65 2c 0d 0a 09 53 79 6d 43 6f 66 66  mNone,...SymCoff
1840: 2c 0d 0a 09 53 79 6d 43 76 2c 0d 0a 09 53 79 6d  ,...SymCv,...Sym
1850: 50 64 62 2c 0d 0a 09 53 79 6d 45 78 70 6f 72 74  Pdb,...SymExport
1860: 2c 0d 0a 09 53 79 6d 44 65 66 65 72 72 65 64 2c  ,...SymDeferred,
1870: 0d 0a 09 53 79 6d 53 79 6d 0d 0a 7d 0d 0a 0d 0a  ...SymSym..}....
1880: 73 74 72 75 63 74 20 49 4d 41 47 45 48 4c 50 5f  struct IMAGEHLP_
1890: 53 59 4d 42 4f 4c 20 7b 0d 0a 09 44 57 4f 52 44  SYMBOL {...DWORD
18a0: 20 20 20 53 69 7a 65 4f 66 53 74 72 75 63 74 3b     SizeOfStruct;
18b0: 0d 0a 09 44 57 4f 52 44 20 20 20 41 64 64 72 65  ...DWORD   Addre
18c0: 73 73 3b 0d 0a 09 44 57 4f 52 44 20 20 20 53 69  ss;...DWORD   Si
18d0: 7a 65 3b 0d 0a 09 44 57 4f 52 44 20 20 20 46 6c  ze;...DWORD   Fl
18e0: 61 67 73 3b 0d 0a 09 44 57 4f 52 44 20 20 20 4d  ags;...DWORD   M
18f0: 61 78 4e 61 6d 65 4c 65 6e 67 74 68 3b 0d 0a 09  axNameLength;...
1900: 43 48 41 52 5b 31 5d 20 4e 61 6d 65 3b 0d 0a 7d  CHAR[1] Name;..}
1910: 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45 48 4c 50  ..alias IMAGEHLP
1920: 5f 53 59 4d 42 4f 4c 2a 20 50 49 4d 41 47 45 48  _SYMBOL* PIMAGEH
1930: 4c 50 5f 53 59 4d 42 4f 4c 3b 0d 0a 0d 0a 73 74  LP_SYMBOL;....st
1940: 72 75 63 74 20 49 4d 41 47 45 48 4c 50 5f 4d 4f  ruct IMAGEHLP_MO
1950: 44 55 4c 45 20 7b 0d 0a 09 44 57 4f 52 44 20 20  DULE {...DWORD  
1960: 20 20 20 53 69 7a 65 4f 66 53 74 72 75 63 74 3b     SizeOfStruct;
1970: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 42 61 73  ...DWORD     Bas
1980: 65 4f 66 49 6d 61 67 65 3b 0d 0a 09 44 57 4f 52  eOfImage;...DWOR
1990: 44 20 20 20 20 20 49 6d 61 67 65 53 69 7a 65 3b  D     ImageSize;
19a0: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 54 69 6d  ...DWORD     Tim
19b0: 65 44 61 74 65 53 74 61 6d 70 3b 0d 0a 09 44 57  eDateStamp;...DW
19c0: 4f 52 44 20 20 20 20 20 43 68 65 63 6b 53 75 6d  ORD     CheckSum
19d0: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 4e 75  ;...DWORD     Nu
19e0: 6d 53 79 6d 73 3b 0d 0a 09 53 59 4d 5f 54 59 50  mSyms;...SYM_TYP
19f0: 45 20 20 53 79 6d 54 79 70 65 3b 0d 0a 09 43 48  E  SymType;...CH
1a00: 41 52 5b 33 32 5d 20 20 4d 6f 64 75 6c 65 4e 61  AR[32]  ModuleNa
1a10: 6d 65 3b 0d 0a 09 43 48 41 52 5b 32 35 36 5d 20  me;...CHAR[256] 
1a20: 49 6d 61 67 65 4e 61 6d 65 3b 0d 0a 09 43 48 41  ImageName;...CHA
1a30: 52 5b 32 35 36 5d 20 4c 6f 61 64 65 64 49 6d 61  R[256] LoadedIma
1a40: 67 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  geName;..}..alia
1a50: 73 20 49 4d 41 47 45 48 4c 50 5f 4d 4f 44 55 4c  s IMAGEHLP_MODUL
1a60: 45 2a 20 50 49 4d 41 47 45 48 4c 50 5f 4d 4f 44  E* PIMAGEHLP_MOD
1a70: 55 4c 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 49  ULE;....struct I
1a80: 4d 41 47 45 48 4c 50 5f 4c 49 4e 45 20 7b 0d 0a  MAGEHLP_LINE {..
1a90: 09 44 57 4f 52 44 20 53 69 7a 65 4f 66 53 74 72  .DWORD SizeOfStr
1aa0: 75 63 74 3b 0d 0a 09 44 57 4f 52 44 20 4b 65 79  uct;...DWORD Key
1ab0: 3b 0d 0a 09 44 57 4f 52 44 20 4c 69 6e 65 4e 75  ;...DWORD LineNu
1ac0: 6d 62 65 72 3b 0d 0a 09 50 43 48 41 52 20 46 69  mber;...PCHAR Fi
1ad0: 6c 65 4e 61 6d 65 3b 0d 0a 09 44 57 4f 52 44 20  leName;...DWORD 
1ae0: 41 64 64 72 65 73 73 3b 0d 0a 7d 0d 0a 61 6c 69  Address;..}..ali
1af0: 61 73 20 49 4d 41 47 45 48 4c 50 5f 4c 49 4e 45  as IMAGEHLP_LINE
1b00: 2a 20 50 49 4d 41 47 45 48 4c 50 5f 4c 49 4e 45  * PIMAGEHLP_LINE
1b10: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 49 4d 41 47  ;....struct IMAG
1b20: 45 48 4c 50 5f 44 45 46 45 52 52 45 44 5f 53 59  EHLP_DEFERRED_SY
1b30: 4d 42 4f 4c 5f 4c 4f 41 44 20 7b 0d 0a 09 44 57  MBOL_LOAD {...DW
1b40: 4f 52 44 20 20 20 20 20 20 20 20 20 20 53 69 7a  ORD          Siz
1b50: 65 4f 66 53 74 72 75 63 74 3b 0d 0a 09 44 57 4f  eOfStruct;...DWO
1b60: 52 44 20 20 20 20 20 20 20 20 20 20 42 61 73 65  RD          Base
1b70: 4f 66 49 6d 61 67 65 3b 0d 0a 09 44 57 4f 52 44  OfImage;...DWORD
1b80: 20 20 20 20 20 20 20 20 20 20 43 68 65 63 6b 53            CheckS
1b90: 75 6d 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20  um;...DWORD     
1ba0: 20 20 20 20 20 54 69 6d 65 44 61 74 65 53 74 61       TimeDateSta
1bb0: 6d 70 3b 0d 0a 09 43 48 41 52 5b 4d 41 58 5f 50  mp;...CHAR[MAX_P
1bc0: 41 54 48 5d 20 46 69 6c 65 4e 61 6d 65 3b 0d 0a  ATH] FileName;..
1bd0: 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20  .BOOLEAN        
1be0: 52 65 70 61 72 73 65 3b 0d 0a 7d 0d 0a 61 6c 69  Reparse;..}..ali
1bf0: 61 73 20 49 4d 41 47 45 48 4c 50 5f 44 45 46 45  as IMAGEHLP_DEFE
1c00: 52 52 45 44 5f 53 59 4d 42 4f 4c 5f 4c 4f 41 44  RRED_SYMBOL_LOAD
1c10: 2a 20 50 49 4d 41 47 45 48 4c 50 5f 44 45 46 45  * PIMAGEHLP_DEFE
1c20: 52 52 45 44 5f 53 59 4d 42 4f 4c 5f 4c 4f 41 44  RRED_SYMBOL_LOAD
1c30: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 49 4d 41 47  ;....struct IMAG
1c40: 45 48 4c 50 5f 44 55 50 4c 49 43 41 54 45 5f 53  EHLP_DUPLICATE_S
1c50: 59 4d 42 4f 4c 20 7b 0d 0a 09 44 57 4f 52 44 20  YMBOL {...DWORD 
1c60: 20 20 20 20 20 20 20 20 20 20 20 53 69 7a 65 4f             SizeO
1c70: 66 53 74 72 75 63 74 3b 0d 0a 09 44 57 4f 52 44  fStruct;...DWORD
1c80: 20 20 20 20 20 20 20 20 20 20 20 20 4e 75 6d 62              Numb
1c90: 65 72 4f 66 44 75 70 73 3b 0d 0a 09 50 49 4d 41  erOfDups;...PIMA
1ca0: 47 45 48 4c 50 5f 53 59 4d 42 4f 4c 20 53 79 6d  GEHLP_SYMBOL Sym
1cb0: 62 6f 6c 3b 0d 0a 09 55 4c 4f 4e 47 20 20 20 20  bol;...ULONG    
1cc0: 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 65 64          Selected
1cd0: 53 79 6d 62 6f 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61  Symbol;..}..alia
1ce0: 73 20 49 4d 41 47 45 48 4c 50 5f 44 55 50 4c 49  s IMAGEHLP_DUPLI
1cf0: 43 41 54 45 5f 53 59 4d 42 4f 4c 2a 20 50 49 4d  CATE_SYMBOL* PIM
1d00: 41 47 45 48 4c 50 5f 44 55 50 4c 49 43 41 54 45  AGEHLP_DUPLICATE
1d10: 5f 53 59 4d 42 4f 4c 3b 0d 0a 0d 0a 6d 69 78 69  _SYMBOL;....mixi
1d20: 6e 20 44 45 43 4c 41 52 45 5f 48 41 4e 44 4c 45  n DECLARE_HANDLE
1d30: 21 28 22 44 49 47 45 53 54 5f 48 41 4e 44 4c 45  !("DIGEST_HANDLE
1d40: 22 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57  ");....extern (W
1d50: 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 61 6c 69 61  indows) {...alia
1d60: 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28  s BOOL function(
1d70: 49 4d 41 47 45 48 4c 50 5f 53 54 41 54 55 53 5f  IMAGEHLP_STATUS_
1d80: 52 45 41 53 4f 4e 2c 20 4c 50 53 54 52 2c 20 4c  REASON, LPSTR, L
1d90: 50 53 54 52 2c 20 55 4c 4f 4e 47 2c 20 55 4c 4f  PSTR, ULONG, ULO
1da0: 4e 47 29 0d 0a 09 20 20 50 49 4d 41 47 45 48 4c  NG)...  PIMAGEHL
1db0: 50 5f 53 54 41 54 55 53 5f 52 4f 55 54 49 4e 45  P_STATUS_ROUTINE
1dc0: 3b 0d 0a 09 61 6c 69 61 73 20 42 4f 4f 4c 20 66  ;...alias BOOL f
1dd0: 75 6e 63 74 69 6f 6e 28 48 41 4e 44 4c 45 20 2c  unction(HANDLE ,
1de0: 20 4c 50 43 56 4f 49 44 2c 20 4c 50 56 4f 49 44   LPCVOID, LPVOID
1df0: 2c 20 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44  , DWORD, LPDWORD
1e00: 29 0d 0a 09 20 20 50 52 45 41 44 5f 50 52 4f 43  )...  PREAD_PROC
1e10: 45 53 53 5f 4d 45 4d 4f 52 59 5f 52 4f 55 54 49  ESS_MEMORY_ROUTI
1e20: 4e 45 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 56 4f  NE;...alias LPVO
1e30: 49 44 20 66 75 6e 63 74 69 6f 6e 28 48 41 4e 44  ID function(HAND
1e40: 4c 45 2c 20 44 57 4f 52 44 29 20 50 46 55 4e 43  LE, DWORD) PFUNC
1e50: 54 49 4f 4e 5f 54 41 42 4c 45 5f 41 43 43 45 53  TION_TABLE_ACCES
1e60: 53 5f 52 4f 55 54 49 4e 45 3b 0d 0a 09 61 6c 69  S_ROUTINE;...ali
1e70: 61 73 20 44 57 4f 52 44 20 66 75 6e 63 74 69 6f  as DWORD functio
1e80: 6e 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 29  n(HANDLE, DWORD)
1e90: 20 50 47 45 54 5f 4d 4f 44 55 4c 45 5f 42 41 53   PGET_MODULE_BAS
1ea0: 45 5f 52 4f 55 54 49 4e 45 3b 0d 0a 09 61 6c 69  E_ROUTINE;...ali
1eb0: 61 73 20 44 57 4f 52 44 20 66 75 6e 63 74 69 6f  as DWORD functio
1ec0: 6e 28 48 41 4e 44 4c 45 2c 20 48 41 4e 44 4c 45  n(HANDLE, HANDLE
1ed0: 2c 20 4c 50 41 44 44 52 45 53 53 29 0d 0a 09 20  , LPADDRESS)... 
1ee0: 20 50 54 52 41 4e 53 4c 41 54 45 5f 41 44 44 52   PTRANSLATE_ADDR
1ef0: 45 53 53 5f 52 4f 55 54 49 4e 45 3b 0d 0a 09 61  ESS_ROUTINE;...a
1f00: 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69  lias BOOL functi
1f10: 6f 6e 28 4c 50 53 54 52 2c 20 55 4c 4f 4e 47 2c  on(LPSTR, ULONG,
1f20: 20 50 56 4f 49 44 29 20 50 53 59 4d 5f 45 4e 55   PVOID) PSYM_ENU
1f30: 4d 4d 4f 44 55 4c 45 53 5f 43 41 4c 4c 42 41 43  MMODULES_CALLBAC
1f40: 4b 3b 0d 0a 09 61 6c 69 61 73 20 42 4f 4f 4c 20  K;...alias BOOL 
1f50: 66 75 6e 63 74 69 6f 6e 28 4c 50 53 54 52 2c 20  function(LPSTR, 
1f60: 55 4c 4f 4e 47 2c 20 55 4c 4f 4e 47 2c 20 50 56  ULONG, ULONG, PV
1f70: 4f 49 44 29 20 50 53 59 4d 5f 45 4e 55 4d 53 59  OID) PSYM_ENUMSY
1f80: 4d 42 4f 4c 53 5f 43 41 4c 4c 42 41 43 4b 3b 0d  MBOLS_CALLBACK;.
1f90: 0a 09 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e  ..alias BOOL fun
1fa0: 63 74 69 6f 6e 28 4c 50 53 54 52 2c 20 55 4c 4f  ction(LPSTR, ULO
1fb0: 4e 47 2c 20 55 4c 4f 4e 47 2c 20 50 56 4f 49 44  NG, ULONG, PVOID
1fc0: 29 0d 0a 09 20 20 50 45 4e 55 4d 4c 4f 41 44 45  )...  PENUMLOADE
1fd0: 44 5f 4d 4f 44 55 4c 45 53 5f 43 41 4c 4c 42 41  D_MODULES_CALLBA
1fe0: 43 4b 3b 0d 0a 09 61 6c 69 61 73 20 42 4f 4f 4c  CK;...alias BOOL
1ff0: 20 66 75 6e 63 74 69 6f 6e 28 48 41 4e 44 4c 45   function(HANDLE
2000: 2c 20 55 4c 4f 4e 47 2c 20 50 56 4f 49 44 2c 20  , ULONG, PVOID, 
2010: 50 56 4f 49 44 29 0d 0a 09 20 20 50 53 59 4d 42  PVOID)...  PSYMB
2020: 4f 4c 5f 52 45 47 49 53 54 45 52 45 44 5f 43 41  OL_REGISTERED_CA
2030: 4c 4c 42 41 43 4b 3b 0d 0a 09 61 6c 69 61 73 20  LLBACK;...alias 
2040: 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 44 49  BOOL function(DI
2050: 47 45 53 54 5f 48 41 4e 44 4c 45 20 72 65 66 64  GEST_HANDLE refd
2060: 61 74 61 2c 20 50 42 59 54 45 20 70 44 61 74 61  ata, PBYTE pData
2070: 2c 20 44 57 4f 52 44 20 64 77 4c 65 6e 67 74 68  , DWORD dwLength
2080: 29 0d 0a 09 20 20 44 49 47 45 53 54 5f 46 55 4e  )...  DIGEST_FUN
2090: 43 54 49 4f 4e 3b 0d 0a 0d 0a 09 50 49 4d 41 47  CTION;.....PIMAG
20a0: 45 5f 4e 54 5f 48 45 41 44 45 52 53 20 43 68 65  E_NT_HEADERS Che
20b0: 63 6b 53 75 6d 4d 61 70 70 65 64 46 69 6c 65 28  ckSumMappedFile(
20c0: 4c 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 4c  LPVOID, DWORD, L
20d0: 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 29  PDWORD, LPDWORD)
20e0: 3b 0d 0a 09 44 57 4f 52 44 20 4d 61 70 46 69 6c  ;...DWORD MapFil
20f0: 65 41 6e 64 43 68 65 63 6b 53 75 6d 41 28 4c 50  eAndCheckSumA(LP
2100: 53 54 52 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50  STR, LPDWORD, LP
2110: 44 57 4f 52 44 29 3b 0d 0a 09 44 57 4f 52 44 20  DWORD);...DWORD 
2120: 4d 61 70 46 69 6c 65 41 6e 64 43 68 65 63 6b 53  MapFileAndCheckS
2130: 75 6d 57 28 50 57 53 54 52 2c 20 4c 50 44 57 4f  umW(PWSTR, LPDWO
2140: 52 44 2c 20 4c 50 44 57 4f 52 44 29 3b 0d 0a 09  RD, LPDWORD);...
2150: 42 4f 4f 4c 20 54 6f 75 63 68 46 69 6c 65 54 69  BOOL TouchFileTi
2160: 6d 65 73 28 48 41 4e 44 4c 45 2c 20 4c 50 53 59  mes(HANDLE, LPSY
2170: 53 54 45 4d 54 49 4d 45 29 3b 0d 0a 09 42 4f 4f  STEMTIME);...BOO
2180: 4c 20 53 70 6c 69 74 53 79 6d 62 6f 6c 73 28 4c  L SplitSymbols(L
2190: 50 53 54 52 2c 20 4c 50 53 54 52 2c 20 4c 50 53  PSTR, LPSTR, LPS
21a0: 54 52 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 48 41  TR, DWORD);...HA
21b0: 4e 44 4c 45 20 46 69 6e 64 44 65 62 75 67 49 6e  NDLE FindDebugIn
21c0: 66 6f 46 69 6c 65 28 4c 50 53 54 52 2c 20 4c 50  foFile(LPSTR, LP
21d0: 53 54 52 2c 20 4c 50 53 54 52 29 3b 0d 0a 09 48  STR, LPSTR);...H
21e0: 41 4e 44 4c 45 20 46 69 6e 64 45 78 65 63 75 74  ANDLE FindExecut
21f0: 61 62 6c 65 49 6d 61 67 65 28 4c 50 53 54 52 2c  ableImage(LPSTR,
2200: 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 29 3b 0d   LPSTR, LPSTR);.
2210: 0a 09 42 4f 4f 4c 20 55 70 64 61 74 65 44 65 62  ..BOOL UpdateDeb
2220: 75 67 49 6e 66 6f 46 69 6c 65 28 4c 50 53 54 52  ugInfoFile(LPSTR
2230: 2c 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c 20  , LPSTR, LPSTR, 
2240: 50 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 45 52  PIMAGE_NT_HEADER
2250: 53 29 3b 0d 0a 09 42 4f 4f 4c 20 55 70 64 61 74  S);...BOOL Updat
2260: 65 44 65 62 75 67 49 6e 66 6f 46 69 6c 65 45 78  eDebugInfoFileEx
2270: 28 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c 20 4c  (LPSTR, LPSTR, L
2280: 50 53 54 52 2c 20 50 49 4d 41 47 45 5f 4e 54 5f  PSTR, PIMAGE_NT_
2290: 48 45 41 44 45 52 53 2c 20 44 57 4f 52 44 29 3b  HEADERS, DWORD);
22a0: 0d 0a 09 42 4f 4f 4c 20 42 69 6e 64 49 6d 61 67  ...BOOL BindImag
22b0: 65 28 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c 20  e(LPSTR, LPSTR, 
22c0: 4c 50 53 54 52 29 3b 0d 0a 09 42 4f 4f 4c 20 42  LPSTR);...BOOL B
22d0: 69 6e 64 49 6d 61 67 65 45 78 28 44 57 4f 52 44  indImageEx(DWORD
22e0: 2c 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c 20  , LPSTR, LPSTR, 
22f0: 4c 50 53 54 52 2c 20 50 49 4d 41 47 45 48 4c 50  LPSTR, PIMAGEHLP
2300: 5f 53 54 41 54 55 53 5f 52 4f 55 54 49 4e 45 29  _STATUS_ROUTINE)
2310: 3b 0d 0a 09 42 4f 4f 4c 20 52 65 42 61 73 65 49  ;...BOOL ReBaseI
2320: 6d 61 67 65 28 4c 50 53 54 52 2c 20 4c 50 53 54  mage(LPSTR, LPST
2330: 52 2c 20 42 4f 4f 4c 2c 20 42 4f 4f 4c 2c 20 42  R, BOOL, BOOL, B
2340: 4f 4f 4c 2c 20 55 4c 4f 4e 47 2c 20 55 4c 4f 4e  OOL, ULONG, ULON
2350: 47 2a 2c 20 55 4c 4f 4e 47 2a 2c 0d 0a 09 20 20  G*, ULONG*,...  
2360: 55 4c 4f 4e 47 2a 2c 20 55 4c 4f 4e 47 2a 2c 20  ULONG*, ULONG*, 
2370: 55 4c 4f 4e 47 29 3b 0d 0a 09 50 4c 4f 41 44 45  ULONG);...PLOADE
2380: 44 5f 49 4d 41 47 45 20 49 6d 61 67 65 4c 6f 61  D_IMAGE ImageLoa
2390: 64 28 4c 50 53 54 52 2c 20 4c 50 53 54 52 29 3b  d(LPSTR, LPSTR);
23a0: 0d 0a 09 42 4f 4f 4c 20 49 6d 61 67 65 55 6e 6c  ...BOOL ImageUnl
23b0: 6f 61 64 28 50 4c 4f 41 44 45 44 5f 49 4d 41 47  oad(PLOADED_IMAG
23c0: 45 29 3b 0d 0a 09 50 49 4d 41 47 45 5f 4e 54 5f  E);...PIMAGE_NT_
23d0: 48 45 41 44 45 52 53 20 49 6d 61 67 65 4e 74 48  HEADERS ImageNtH
23e0: 65 61 64 65 72 28 50 56 4f 49 44 29 3b 0d 0a 09  eader(PVOID);...
23f0: 50 56 4f 49 44 20 49 6d 61 67 65 44 69 72 65 63  PVOID ImageDirec
2400: 74 6f 72 79 45 6e 74 72 79 54 6f 44 61 74 61 28  toryEntryToData(
2410: 50 56 4f 49 44 2c 20 42 4f 4f 4c 45 41 4e 2c 20  PVOID, BOOLEAN, 
2420: 55 53 48 4f 52 54 2c 20 50 55 4c 4f 4e 47 29 3b  USHORT, PULONG);
2430: 0d 0a 09 50 49 4d 41 47 45 5f 53 45 43 54 49 4f  ...PIMAGE_SECTIO
2440: 4e 5f 48 45 41 44 45 52 20 49 6d 61 67 65 52 76  N_HEADER ImageRv
2450: 61 54 6f 53 65 63 74 69 6f 6e 28 50 49 4d 41 47  aToSection(PIMAG
2460: 45 5f 4e 54 5f 48 45 41 44 45 52 53 2c 20 50 56  E_NT_HEADERS, PV
2470: 4f 49 44 2c 20 55 4c 4f 4e 47 29 3b 0d 0a 09 50  OID, ULONG);...P
2480: 56 4f 49 44 20 49 6d 61 67 65 52 76 61 54 6f 56  VOID ImageRvaToV
2490: 61 28 50 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44  a(PIMAGE_NT_HEAD
24a0: 45 52 53 2c 20 50 56 4f 49 44 2c 20 55 4c 4f 4e  ERS, PVOID, ULON
24b0: 47 2c 0d 0a 09 20 20 50 49 4d 41 47 45 5f 53 45  G,...  PIMAGE_SE
24c0: 43 54 49 4f 4e 5f 48 45 41 44 45 52 2a 29 3b 0d  CTION_HEADER*);.
24d0: 0a 09 42 4f 4f 4c 20 4d 61 70 41 6e 64 4c 6f 61  ..BOOL MapAndLoa
24e0: 64 28 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c 20  d(LPSTR, LPSTR, 
24f0: 50 4c 4f 41 44 45 44 5f 49 4d 41 47 45 2c 20 42  PLOADED_IMAGE, B
2500: 4f 4f 4c 2c 20 42 4f 4f 4c 29 3b 0d 0a 09 42 4f  OOL, BOOL);...BO
2510: 4f 4c 20 47 65 74 49 6d 61 67 65 43 6f 6e 66 69  OL GetImageConfi
2520: 67 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 50 4c 4f  gInformation(PLO
2530: 41 44 45 44 5f 49 4d 41 47 45 2c 0d 0a 09 20 20  ADED_IMAGE,...  
2540: 50 49 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46  PIMAGE_LOAD_CONF
2550: 49 47 5f 44 49 52 45 43 54 4f 52 59 29 3b 0d 0a  IG_DIRECTORY);..
2560: 09 44 57 4f 52 44 20 47 65 74 49 6d 61 67 65 55  .DWORD GetImageU
2570: 6e 75 73 65 64 48 65 61 64 65 72 42 79 74 65 73  nusedHeaderBytes
2580: 28 50 4c 4f 41 44 45 44 5f 49 4d 41 47 45 2c 20  (PLOADED_IMAGE, 
2590: 4c 50 44 57 4f 52 44 29 3b 0d 0a 09 42 4f 4f 4c  LPDWORD);...BOOL
25a0: 20 53 65 74 49 6d 61 67 65 43 6f 6e 66 69 67 49   SetImageConfigI
25b0: 6e 66 6f 72 6d 61 74 69 6f 6e 28 50 4c 4f 41 44  nformation(PLOAD
25c0: 45 44 5f 49 4d 41 47 45 2c 0d 0a 09 20 20 50 49  ED_IMAGE,...  PI
25d0: 4d 41 47 45 5f 4c 4f 41 44 5f 43 4f 4e 46 49 47  MAGE_LOAD_CONFIG
25e0: 5f 44 49 52 45 43 54 4f 52 59 29 3b 0d 0a 09 42  _DIRECTORY);...B
25f0: 4f 4f 4c 20 55 6e 4d 61 70 41 6e 64 4c 6f 61 64  OOL UnMapAndLoad
2600: 28 50 4c 4f 41 44 45 44 5f 49 4d 41 47 45 29 3b  (PLOADED_IMAGE);
2610: 0d 0a 09 50 49 4d 41 47 45 5f 44 45 42 55 47 5f  ...PIMAGE_DEBUG_
2620: 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 4d 61 70 44  INFORMATION MapD
2630: 65 62 75 67 49 6e 66 6f 72 6d 61 74 69 6f 6e 28  ebugInformation(
2640: 48 41 4e 44 4c 45 2c 20 4c 50 53 54 52 2c 20 4c  HANDLE, LPSTR, L
2650: 50 53 54 52 2c 20 44 57 4f 52 44 29 3b 0d 0a 09  PSTR, DWORD);...
2660: 42 4f 4f 4c 20 55 6e 6d 61 70 44 65 62 75 67 49  BOOL UnmapDebugI
2670: 6e 66 6f 72 6d 61 74 69 6f 6e 28 50 49 4d 41 47  nformation(PIMAG
2680: 45 5f 44 45 42 55 47 5f 49 4e 46 4f 52 4d 41 54  E_DEBUG_INFORMAT
2690: 49 4f 4e 29 3b 0d 0a 09 48 41 4e 44 4c 45 20 46  ION);...HANDLE F
26a0: 69 6e 64 45 78 65 63 75 74 61 62 6c 65 49 6d 61  indExecutableIma
26b0: 67 65 28 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c  ge(LPSTR, LPSTR,
26c0: 20 4c 50 53 54 52 29 3b 0d 0a 09 42 4f 4f 4c 20   LPSTR);...BOOL 
26d0: 53 65 61 72 63 68 54 72 65 65 46 6f 72 46 69 6c  SearchTreeForFil
26e0: 65 28 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c 20  e(LPSTR, LPSTR, 
26f0: 4c 50 53 54 52 29 3b 0d 0a 09 42 4f 4f 4c 20 4d  LPSTR);...BOOL M
2700: 61 6b 65 53 75 72 65 44 69 72 65 63 74 6f 72 79  akeSureDirectory
2710: 50 61 74 68 45 78 69 73 74 73 28 4c 50 43 53 54  PathExists(LPCST
2720: 52 29 3b 0d 0a 09 44 57 4f 52 44 20 55 6e 44 65  R);...DWORD UnDe
2730: 63 6f 72 61 74 65 53 79 6d 62 6f 6c 4e 61 6d 65  corateSymbolName
2740: 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c 20  (LPCSTR, LPSTR, 
2750: 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0d 0a  DWORD, DWORD);..
2760: 09 42 4f 4f 4c 20 53 74 61 63 6b 57 61 6c 6b 28  .BOOL StackWalk(
2770: 44 57 4f 52 44 2c 20 48 41 4e 44 4c 45 2c 20 48  DWORD, HANDLE, H
2780: 41 4e 44 4c 45 2c 20 4c 50 53 54 41 43 4b 46 52  ANDLE, LPSTACKFR
2790: 41 4d 45 2c 20 4c 50 56 4f 49 44 2c 0d 0a 09 20  AME, LPVOID,... 
27a0: 20 50 52 45 41 44 5f 50 52 4f 43 45 53 53 5f 4d   PREAD_PROCESS_M
27b0: 45 4d 4f 52 59 5f 52 4f 55 54 49 4e 45 2c 20 50  EMORY_ROUTINE, P
27c0: 46 55 4e 43 54 49 4f 4e 5f 54 41 42 4c 45 5f 41  FUNCTION_TABLE_A
27d0: 43 43 45 53 53 5f 52 4f 55 54 49 4e 45 2c 0d 0a  CCESS_ROUTINE,..
27e0: 09 20 20 50 47 45 54 5f 4d 4f 44 55 4c 45 5f 42  .  PGET_MODULE_B
27f0: 41 53 45 5f 52 4f 55 54 49 4e 45 2c 20 50 54 52  ASE_ROUTINE, PTR
2800: 41 4e 53 4c 41 54 45 5f 41 44 44 52 45 53 53 5f  ANSLATE_ADDRESS_
2810: 52 4f 55 54 49 4e 45 29 3b 0d 0a 09 4c 50 41 50  ROUTINE);...LPAP
2820: 49 5f 56 45 52 53 49 4f 4e 20 49 6d 61 67 65 68  I_VERSION Imageh
2830: 6c 70 41 70 69 56 65 72 73 69 6f 6e 28 29 3b 0d  lpApiVersion();.
2840: 0a 09 4c 50 41 50 49 5f 56 45 52 53 49 4f 4e 20  ..LPAPI_VERSION 
2850: 49 6d 61 67 65 68 6c 70 41 70 69 56 65 72 73 69  ImagehlpApiVersi
2860: 6f 6e 45 78 28 4c 50 41 50 49 5f 56 45 52 53 49  onEx(LPAPI_VERSI
2870: 4f 4e 29 3b 0d 0a 09 44 57 4f 52 44 20 47 65 74  ON);...DWORD Get
2880: 54 69 6d 65 73 74 61 6d 70 46 6f 72 4c 6f 61 64  TimestampForLoad
2890: 65 64 4c 69 62 72 61 72 79 28 48 4d 4f 44 55 4c  edLibrary(HMODUL
28a0: 45 29 3b 0d 0a 09 42 4f 4f 4c 20 52 65 6d 6f 76  E);...BOOL Remov
28b0: 65 50 72 69 76 61 74 65 43 76 53 79 6d 62 6f 6c  ePrivateCvSymbol
28c0: 69 63 28 50 43 48 41 52 2c 20 50 43 48 41 52 2a  ic(PCHAR, PCHAR*
28d0: 2c 20 55 4c 4f 4e 47 2a 29 3b 0d 0a 09 56 4f 49  , ULONG*);...VOI
28e0: 44 20 52 65 6d 6f 76 65 52 65 6c 6f 63 61 74 69  D RemoveRelocati
28f0: 6f 6e 73 28 50 43 48 41 52 29 3b 0d 0a 09 44 57  ons(PCHAR);...DW
2900: 4f 52 44 20 53 79 6d 53 65 74 4f 70 74 69 6f 6e  ORD SymSetOption
2910: 73 28 44 57 4f 52 44 29 3b 0d 0a 09 44 57 4f 52  s(DWORD);...DWOR
2920: 44 20 53 79 6d 47 65 74 4f 70 74 69 6f 6e 73 28  D SymGetOptions(
2930: 29 3b 0d 0a 09 42 4f 4f 4c 20 53 79 6d 43 6c 65  );...BOOL SymCle
2940: 61 6e 75 70 28 48 41 4e 44 4c 45 29 3b 0d 0a 09  anup(HANDLE);...
2950: 42 4f 4f 4c 20 53 79 6d 45 6e 75 6d 65 72 61 74  BOOL SymEnumerat
2960: 65 4d 6f 64 75 6c 65 73 28 48 41 4e 44 4c 45 2c  eModules(HANDLE,
2970: 20 50 53 59 4d 5f 45 4e 55 4d 4d 4f 44 55 4c 45   PSYM_ENUMMODULE
2980: 53 5f 43 41 4c 4c 42 41 43 4b 2c 20 50 56 4f 49  S_CALLBACK, PVOI
2990: 44 29 3b 0d 0a 09 42 4f 4f 4c 20 53 79 6d 45 6e  D);...BOOL SymEn
29a0: 75 6d 65 72 61 74 65 53 79 6d 62 6f 6c 73 28 48  umerateSymbols(H
29b0: 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20 50 53  ANDLE, DWORD, PS
29c0: 59 4d 5f 45 4e 55 4d 53 59 4d 42 4f 4c 53 5f 43  YM_ENUMSYMBOLS_C
29d0: 41 4c 4c 42 41 43 4b 2c 20 50 56 4f 49 44 29 3b  ALLBACK, PVOID);
29e0: 0d 0a 09 42 4f 4f 4c 20 45 6e 75 6d 65 72 61 74  ...BOOL Enumerat
29f0: 65 4c 6f 61 64 65 64 4d 6f 64 75 6c 65 73 28 48  eLoadedModules(H
2a00: 41 4e 44 4c 45 2c 20 50 45 4e 55 4d 4c 4f 41 44  ANDLE, PENUMLOAD
2a10: 45 44 5f 4d 4f 44 55 4c 45 53 5f 43 41 4c 4c 42  ED_MODULES_CALLB
2a20: 41 43 4b 2c 20 50 56 4f 49 44 29 3b 0d 0a 09 4c  ACK, PVOID);...L
2a30: 50 56 4f 49 44 20 53 79 6d 46 75 6e 63 74 69 6f  PVOID SymFunctio
2a40: 6e 54 61 62 6c 65 41 63 63 65 73 73 28 48 41 4e  nTableAccess(HAN
2a50: 44 4c 45 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 42  DLE, DWORD);...B
2a60: 4f 4f 4c 20 53 79 6d 47 65 74 4d 6f 64 75 6c 65  OOL SymGetModule
2a70: 49 6e 66 6f 28 48 41 4e 44 4c 45 2c 20 44 57 4f  Info(HANDLE, DWO
2a80: 52 44 2c 20 50 49 4d 41 47 45 48 4c 50 5f 4d 4f  RD, PIMAGEHLP_MO
2a90: 44 55 4c 45 29 3b 0d 0a 09 44 57 4f 52 44 20 53  DULE);...DWORD S
2aa0: 79 6d 47 65 74 4d 6f 64 75 6c 65 42 61 73 65 28  ymGetModuleBase(
2ab0: 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b 0d  HANDLE, DWORD);.
2ac0: 0a 09 42 4f 4f 4c 20 53 79 6d 47 65 74 53 79 6d  ..BOOL SymGetSym
2ad0: 46 72 6f 6d 41 64 64 72 28 48 41 4e 44 4c 45 2c  FromAddr(HANDLE,
2ae0: 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20   DWORD, PDWORD, 
2af0: 50 49 4d 41 47 45 48 4c 50 5f 53 59 4d 42 4f 4c  PIMAGEHLP_SYMBOL
2b00: 29 3b 0d 0a 09 42 4f 4f 4c 20 53 79 6d 47 65 74  );...BOOL SymGet
2b10: 53 79 6d 46 72 6f 6d 4e 61 6d 65 28 48 41 4e 44  SymFromName(HAND
2b20: 4c 45 2c 20 4c 50 53 54 52 2c 20 50 49 4d 41 47  LE, LPSTR, PIMAG
2b30: 45 48 4c 50 5f 53 59 4d 42 4f 4c 29 3b 0d 0a 09  EHLP_SYMBOL);...
2b40: 42 4f 4f 4c 20 53 79 6d 47 65 74 53 79 6d 4e 65  BOOL SymGetSymNe
2b50: 78 74 28 48 41 4e 44 4c 45 2c 20 50 49 4d 41 47  xt(HANDLE, PIMAG
2b60: 45 48 4c 50 5f 53 59 4d 42 4f 4c 29 3b 0d 0a 09  EHLP_SYMBOL);...
2b70: 42 4f 4f 4c 20 53 79 6d 47 65 74 53 79 6d 50 72  BOOL SymGetSymPr
2b80: 65 76 28 48 41 4e 44 4c 45 2c 20 50 49 4d 41 47  ev(HANDLE, PIMAG
2b90: 45 48 4c 50 5f 53 59 4d 42 4f 4c 29 3b 0d 0a 09  EHLP_SYMBOL);...
2ba0: 42 4f 4f 4c 20 53 79 6d 47 65 74 4c 69 6e 65 46  BOOL SymGetLineF
2bb0: 72 6f 6d 41 64 64 72 28 48 41 4e 44 4c 45 2c 20  romAddr(HANDLE, 
2bc0: 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50  DWORD, PDWORD, P
2bd0: 49 4d 41 47 45 48 4c 50 5f 4c 49 4e 45 29 3b 0d  IMAGEHLP_LINE);.
2be0: 0a 09 42 4f 4f 4c 20 53 79 6d 47 65 74 4c 69 6e  ..BOOL SymGetLin
2bf0: 65 46 72 6f 6d 4e 61 6d 65 28 48 41 4e 44 4c 45  eFromName(HANDLE
2c00: 2c 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c 20  , LPSTR, LPSTR, 
2c10: 44 57 4f 52 44 2c 20 50 4c 4f 4e 47 2c 0d 0a 09  DWORD, PLONG,...
2c20: 20 20 50 49 4d 41 47 45 48 4c 50 5f 4c 49 4e 45    PIMAGEHLP_LINE
2c30: 29 3b 0d 0a 09 42 4f 4f 4c 20 53 79 6d 47 65 74  );...BOOL SymGet
2c40: 4c 69 6e 65 4e 65 78 74 28 48 41 4e 44 4c 45 2c  LineNext(HANDLE,
2c50: 20 50 49 4d 41 47 45 48 4c 50 5f 4c 49 4e 45 29   PIMAGEHLP_LINE)
2c60: 3b 0d 0a 09 42 4f 4f 4c 20 53 79 6d 47 65 74 4c  ;...BOOL SymGetL
2c70: 69 6e 65 50 72 65 76 28 48 41 4e 44 4c 45 2c 20  inePrev(HANDLE, 
2c80: 50 49 4d 41 47 45 48 4c 50 5f 4c 49 4e 45 29 3b  PIMAGEHLP_LINE);
2c90: 0d 0a 09 42 4f 4f 4c 20 53 79 6d 4d 61 74 63 68  ...BOOL SymMatch
2ca0: 46 69 6c 65 4e 61 6d 65 28 4c 50 53 54 52 2c 20  FileName(LPSTR, 
2cb0: 4c 50 53 54 52 2c 20 4c 50 53 54 52 2a 2c 20 4c  LPSTR, LPSTR*, L
2cc0: 50 53 54 52 2a 29 3b 0d 0a 09 42 4f 4f 4c 20 53  PSTR*);...BOOL S
2cd0: 79 6d 49 6e 69 74 69 61 6c 69 7a 65 28 48 41 4e  ymInitialize(HAN
2ce0: 44 4c 45 2c 20 4c 50 53 54 52 2c 20 42 4f 4f 4c  DLE, LPSTR, BOOL
2cf0: 29 3b 0d 0a 09 42 4f 4f 4c 20 53 79 6d 47 65 74  );...BOOL SymGet
2d00: 53 65 61 72 63 68 50 61 74 68 28 48 41 4e 44 4c  SearchPath(HANDL
2d10: 45 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 29  E, LPSTR, DWORD)
2d20: 3b 0d 0a 09 42 4f 4f 4c 20 53 79 6d 53 65 74 53  ;...BOOL SymSetS
2d30: 65 61 72 63 68 50 61 74 68 28 48 41 4e 44 4c 45  earchPath(HANDLE
2d40: 2c 20 4c 50 53 54 52 29 3b 0d 0a 09 42 4f 4f 4c  , LPSTR);...BOOL
2d50: 20 53 79 6d 4c 6f 61 64 4d 6f 64 75 6c 65 28 48   SymLoadModule(H
2d60: 41 4e 44 4c 45 2c 20 48 41 4e 44 4c 45 2c 20 50  ANDLE, HANDLE, P
2d70: 53 54 52 2c 20 50 53 54 52 2c 20 44 57 4f 52 44  STR, PSTR, DWORD
2d80: 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 42 4f 4f 4c  , DWORD);...BOOL
2d90: 20 53 79 6d 55 6e 6c 6f 61 64 4d 6f 64 75 6c 65   SymUnloadModule
2da0: 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b  (HANDLE, DWORD);
2db0: 0d 0a 09 42 4f 4f 4c 20 53 79 6d 55 6e 44 4e 61  ...BOOL SymUnDNa
2dc0: 6d 65 28 50 49 4d 41 47 45 48 4c 50 5f 53 59 4d  me(PIMAGEHLP_SYM
2dd0: 42 4f 4c 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52  BOL, LPSTR, DWOR
2de0: 44 29 3b 0d 0a 09 42 4f 4f 4c 20 53 79 6d 52 65  D);...BOOL SymRe
2df0: 67 69 73 74 65 72 43 61 6c 6c 62 61 63 6b 28 48  gisterCallback(H
2e00: 41 4e 44 4c 45 2c 20 50 53 59 4d 42 4f 4c 5f 52  ANDLE, PSYMBOL_R
2e10: 45 47 49 53 54 45 52 45 44 5f 43 41 4c 4c 42 41  EGISTERED_CALLBA
2e20: 43 4b 2c 20 50 56 4f 49 44 29 3b 0d 0a 09 42 4f  CK, PVOID);...BO
2e30: 4f 4c 20 49 6d 61 67 65 47 65 74 44 69 67 65 73  OL ImageGetDiges
2e40: 74 53 74 72 65 61 6d 28 48 41 4e 44 4c 45 2c 20  tStream(HANDLE, 
2e50: 44 57 4f 52 44 2c 20 44 49 47 45 53 54 5f 46 55  DWORD, DIGEST_FU
2e60: 4e 43 54 49 4f 4e 2c 20 44 49 47 45 53 54 5f 48  NCTION, DIGEST_H
2e70: 41 4e 44 4c 45 29 3b 0d 0a 09 42 4f 4f 4c 20 49  ANDLE);...BOOL I
2e80: 6d 61 67 65 41 64 64 43 65 72 74 69 66 69 63 61  mageAddCertifica
2e90: 74 65 28 48 41 4e 44 4c 45 2c 20 4c 50 57 49 4e  te(HANDLE, LPWIN
2ea0: 5f 43 45 52 54 49 46 49 43 41 54 45 2c 20 50 44  _CERTIFICATE, PD
2eb0: 57 4f 52 44 29 3b 0d 0a 09 42 4f 4f 4c 20 49 6d  WORD);...BOOL Im
2ec0: 61 67 65 52 65 6d 6f 76 65 43 65 72 74 69 66 69  ageRemoveCertifi
2ed0: 63 61 74 65 28 48 41 4e 44 4c 45 2c 20 44 57 4f  cate(HANDLE, DWO
2ee0: 52 44 29 3b 0d 0a 09 42 4f 4f 4c 20 49 6d 61 67  RD);...BOOL Imag
2ef0: 65 45 6e 75 6d 65 72 61 74 65 43 65 72 74 69 66  eEnumerateCertif
2f00: 69 63 61 74 65 73 28 48 41 4e 44 4c 45 2c 20 57  icates(HANDLE, W
2f10: 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57  ORD, PDWORD, PDW
2f20: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 42  ORD, DWORD);...B
2f30: 4f 4f 4c 20 49 6d 61 67 65 47 65 74 43 65 72 74  OOL ImageGetCert
2f40: 69 66 69 63 61 74 65 44 61 74 61 28 48 41 4e 44  ificateData(HAND
2f50: 4c 45 2c 20 44 57 4f 52 44 2c 20 4c 50 57 49 4e  LE, DWORD, LPWIN
2f60: 5f 43 45 52 54 49 46 49 43 41 54 45 2c 20 50 44  _CERTIFICATE, PD
2f70: 57 4f 52 44 29 3b 0d 0a 09 42 4f 4f 4c 20 49 6d  WORD);...BOOL Im
2f80: 61 67 65 47 65 74 43 65 72 74 69 66 69 63 61 74  ageGetCertificat
2f90: 65 48 65 61 64 65 72 28 48 41 4e 44 4c 45 2c 20  eHeader(HANDLE, 
2fa0: 44 57 4f 52 44 2c 20 4c 50 57 49 4e 5f 43 45 52  DWORD, LPWIN_CER
2fb0: 54 49 46 49 43 41 54 45 29 3b 0d 0a 09 42 4f 4f  TIFICATE);...BOO
2fc0: 4c 20 43 6f 70 79 50 64 62 28 43 48 41 52 2a 2c  L CopyPdb(CHAR*,
2fd0: 20 43 48 41 52 2a 2c 20 42 4f 4f 4c 29 3b 0d 0a   CHAR*, BOOL);..
2fe0: 09 42 4f 4f 4c 20 52 65 6d 6f 76 65 50 72 69 76  .BOOL RemovePriv
2ff0: 61 74 65 43 76 53 79 6d 62 6f 6c 69 63 45 78 28  ateCvSymbolicEx(
3000: 50 43 48 41 52 2c 20 55 4c 4f 4e 47 2c 20 50 43  PCHAR, ULONG, PC
3010: 48 41 52 2a 2c 20 55 4c 4f 4e 47 2a 29 3b 0d 0a  HAR*, ULONG*);..
3020: 7d 0d 0a 0d 0a 76 65 72 73 69 6f 6e 20 28 55 6e  }....version (Un
3030: 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c 69 61 73  icode) {...alias
3040: 20 4d 61 70 46 69 6c 65 41 6e 64 43 68 65 63 6b   MapFileAndCheck
3050: 53 75 6d 57 20 4d 61 70 46 69 6c 65 41 6e 64 43  SumW MapFileAndC
3060: 68 65 63 6b 53 75 6d 3b 0d 0a 7d 20 65 6c 73 65  heckSum;..} else
3070: 20 7b 0d 0a 09 61 6c 69 61 73 20 4d 61 70 46 69   {...alias MapFi
3080: 6c 65 41 6e 64 43 68 65 63 6b 53 75 6d 41 20 4d  leAndCheckSumA M
3090: 61 70 46 69 6c 65 41 6e 64 43 68 65 63 6b 53 75  apFileAndCheckSu
30a0: 6d 3b 0d 0a 7d 0d 0a                             m;..}..