Artifact bbf16340c786af1a0d8012975dcd055ed9a23a70:
- File
src/win32/imagehlp.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
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;..}..