ReactOS  0.4.14-dev-77-gd9e7c48
dbghelp.h
Go to the documentation of this file.
1 /*
2  * Declarations for DBGHELP
3  *
4  * Copyright (C) 2003 Eric Pouech
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20 
21 #ifndef __WINE_DBGHELP_H
22 #define __WINE_DBGHELP_H
23 
24 /* A set of documentation macros (see also imagehlp.h) */
25 #ifndef __deref_out
26 # define __deref_out
27 #endif
28 #ifndef __deref_out_opt
29 # define __deref_out_opt
30 #endif
31 #ifndef __deref_opt_out
32 # define __deref_opt_out
33 #endif
34 #ifndef __in
35 # define __in
36 #endif
37 #ifndef __in_opt
38 # define __in_opt
39 #endif
40 #ifndef __in_bcount
41 # define __in_bcount(x)
42 #endif
43 #ifndef __in_bcount_opt
44 # define __in_bcount_opt(x)
45 #endif
46 #ifndef __in_ecount
47 # define __in_ecount(x)
48 #endif
49 #ifndef __inout
50 # define __inout
51 #endif
52 #ifndef __inout_opt
53 # define __inout_opt
54 #endif
55 #ifndef __inout_bcount
56 # define __inout_bcount(x)
57 #endif
58 #ifndef __inout_ecount
59 # define __inout_ecount(x)
60 #endif
61 #ifndef __out
62 # define __out
63 #endif
64 #ifndef __out_opt
65 # define __out_opt
66 #endif
67 #ifndef __out_bcount
68 # define __out_bcount(x)
69 #endif
70 #ifndef __out_bcount_opt
71 # define __out_bcount_opt(x)
72 #endif
73 #ifndef __out_ecount
74 # define __out_ecount(x)
75 #endif
76 #ifndef __out_ecount_opt
77 # define __out_ecount_opt(x)
78 #endif
79 #ifndef __out_xcount
80 # define __out_xcount(x)
81 #endif
82 
83 
84 #ifdef __cplusplus
85 extern "C" {
86 #endif /* defined(__cplusplus) */
87 
88 #ifdef _WIN64
89 #ifndef _IMAGEHLP64
90 #define _IMAGEHLP64
91 #endif
92 #endif
93 
94 #define IMAGEAPI WINAPI
95 #define DBHLPAPI IMAGEAPI
96 
97 typedef struct _LOADED_IMAGE
98 {
102 #ifdef _IMAGEHLP64
104 #else
106 #endif
118 
119 /*************************
120  * IMAGEHLP equiv *
121  *************************/
122 
123 typedef enum
124 {
129 } ADDRESS_MODE;
130 
131 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
132 #define ADDRESS ADDRESS64
133 #define LPADDRESS LPADDRESS64
134 #else
135 typedef struct _tagADDRESS
136 {
137  DWORD Offset;
138  WORD Segment;
140 } ADDRESS, *LPADDRESS;
141 #endif
142 
143 typedef struct _tagADDRESS64
144 {
145  DWORD64 Offset;
146  WORD Segment;
149 
150 #define SYMF_OMAP_GENERATED 0x00000001
151 #define SYMF_OMAP_MODIFIED 0x00000002
152 #define SYMF_USER_GENERATED 0x00000004
153 #define SYMF_REGISTER 0x00000008
154 #define SYMF_REGREL 0x00000010
155 #define SYMF_FRAMEREL 0x00000020
156 #define SYMF_PARAMETER 0x00000040
157 #define SYMF_LOCAL 0x00000080
158 #define SYMF_CONSTANT 0x00000100
159 #define SYMF_EXPORT 0x00000200
160 #define SYMF_FORWARDER 0x00000400
161 #define SYMF_FUNCTION 0x00000800
162 #define SYMF_VIRTUAL 0x00001000
163 #define SYMF_THUNK 0x00002000
164 #define SYMF_TLSREL 0x00004000
165 
166 typedef enum
167 {
168  SymNone = 0,
178 } SYM_TYPE;
179 
180 #ifdef _NO_CVCONST_H
181 enum SymTagEnum
182 {
183  SymTagNull,
184  SymTagExe,
189  SymTagBlock,
190  SymTagData,
192  SymTagLabel,
194  SymTagUDT,
195  SymTagEnum,
202  SymTagFriend,
208  SymTagVTable,
209  SymTagCustom,
210  SymTagThunk,
214  SymTagCallSite,
215  SymTagInlineSite,
216  SymTagBaseInterface,
217  SymTagVectorType,
218  SymTagMatrixType,
219  SymTagHLSLType,
220  SymTagCaller,
221  SymTagCallee,
222  SymTagExport,
223  SymTagHeapAllocationSite,
224  SymTagCoffGroup,
225  SymTagMax
226 };
227 #endif // _NO_CVCONST_H
228 
229 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
230 #define IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL64
231 #define IMAGEHLP_SYMBOLW IMAGEHLP_SYMBOLW64
232 #define PIMAGEHLP_SYMBOL PIMAGEHLP_SYMBOL64
233 #define PIMAGEHLP_SYMBOLW PIMAGEHLP_SYMBOLW64
234 #else
235 typedef struct _IMAGEHLP_SYMBOL
236 {
238  DWORD Address;
239  DWORD Size;
240  DWORD Flags;
242  CHAR Name[1];
244 
245 typedef struct _IMAGEHLP_SYMBOLW
246 {
248  DWORD Address;
249  DWORD Size;
250  DWORD Flags;
252  WCHAR Name[1];
254 #endif
255 
256 typedef struct _IMAGEHLP_SYMBOL64
257 {
260  DWORD Size;
261  DWORD Flags;
263  CHAR Name[1];
265 
266 typedef struct _IMAGEHLP_SYMBOLW64
267 {
270  DWORD Size;
271  DWORD Flags;
273  WCHAR Name[1];
275 
276 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
277 #define IMAGEHLP_MODULE IMAGEHLP_MODULE64
278 #define PIMAGEHLP_MODULE PIMAGEHLP_MODULE64
279 #define IMAGEHLP_MODULEW IMAGEHLP_MODULEW64
280 #define PIMAGEHLP_MODULEW PIMAGEHLP_MODULEW64
281 #else
282 typedef struct _IMAGEHLP_MODULE
283 {
288  DWORD CheckSum;
289  DWORD NumSyms;
291  CHAR ModuleName[32];
292  CHAR ImageName[256];
293  CHAR LoadedImageName[256];
295 
296 typedef struct _IMAGEHLP_MODULEW
297 {
302  DWORD CheckSum;
303  DWORD NumSyms;
305  WCHAR ModuleName[32];
306  WCHAR ImageName[256];
307  WCHAR LoadedImageName[256];
309 #endif
310 
311 typedef struct _IMAGEHLP_MODULE64
312 {
317  DWORD CheckSum;
318  DWORD NumSyms;
320  CHAR ModuleName[32];
321  CHAR ImageName[256];
322  CHAR LoadedImageName[256];
323  CHAR LoadedPdbName[256];
324  DWORD CVSig;
325  CHAR CVData[MAX_PATH*3];
326  DWORD PdbSig;
327  GUID PdbSig70;
328  DWORD PdbAge;
333  BOOL TypeInfo;
335  BOOL Publics;
337 
338 typedef struct _IMAGEHLP_MODULEW64
339 {
344  DWORD CheckSum;
345  DWORD NumSyms;
347  WCHAR ModuleName[32];
348  WCHAR ImageName[256];
349  WCHAR LoadedImageName[256];
350  WCHAR LoadedPdbName[256];
351  DWORD CVSig;
352  WCHAR CVData[MAX_PATH*3];
353  DWORD PdbSig;
354  GUID PdbSig70;
355  DWORD PdbAge;
360  BOOL TypeInfo;
362  BOOL Publics;
364 
365 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
366 #define IMAGEHLP_LINE IMAGEHLP_LINE64
367 #define PIMAGEHLP_LINE PIMAGEHLP_LINE64
368 #define IMAGEHLP_LINEW IMAGEHLP_LINEW64
369 #define PIMAGEHLP_LINEW PIMAGEHLP_LINEW64
370 #else
371 typedef struct _IMAGEHLP_LINE
372 {
374  PVOID Key;
376  PCHAR FileName;
377  DWORD Address;
379 
380 typedef struct _IMAGEHLP_LINEW
381 {
383  PVOID Key;
385  PWSTR FileName;
386  DWORD Address;
388 #endif
389 
390 typedef struct _IMAGEHLP_LINE64
391 {
393  PVOID Key;
395  PCHAR FileName;
398 
399 typedef struct _IMAGEHLP_LINEW64
400 {
402  PVOID Key;
404  PWSTR FileName;
407 
408 typedef struct _SOURCEFILE
409 {
411  PCHAR FileName;
413 
414 typedef struct _SOURCEFILEW
415 {
417  PWSTR FileName;
419 
420 #define CBA_DEFERRED_SYMBOL_LOAD_START 0x00000001
421 #define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 0x00000002
422 #define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 0x00000003
423 #define CBA_SYMBOLS_UNLOADED 0x00000004
424 #define CBA_DUPLICATE_SYMBOL 0x00000005
425 #define CBA_READ_MEMORY 0x00000006
426 #define CBA_DEFERRED_SYMBOL_LOAD_CANCEL 0x00000007
427 #define CBA_SET_OPTIONS 0x00000008
428 #define CBA_EVENT 0x00000010
429 #define CBA_DEFERRED_SYMBOL_LOAD_PARTIAL 0x00000020
430 #define CBA_DEBUG_INFO 0x10000000
431 
433 {
439 
440 enum
441 {
442  sevInfo = 0,
447 };
448 
449 #define EVENT_SRCSPEW_START 100
450 #define EVENT_SRCSPEW 100
451 #define EVENT_SRCSPEW_END 199
452 
453 typedef struct _IMAGEHLP_CBA_EVENT
454 {
460 
461 typedef struct _IMAGEHLP_CBA_EVENTW
462 {
468 
469 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
470 #define IMAGEHLP_DEFERRED_SYMBOL_LOAD IMAGEHLP_DEFERRED_SYMBOL_LOAD64
471 #define PIMAGEHLP_DEFERRED_SYMBOL_LOAD PIMAGEHLP_DEFERRED_SYMBOL_LOAD64
472 #else
473 typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD
474 {
477  DWORD CheckSum;
481  HANDLE hFile;
483 #endif
484 
486 {
489  DWORD CheckSum;
493  HANDLE hFile;
494  DWORD Flags;
496 
498 {
501  DWORD CheckSum;
503  WCHAR FileName[MAX_PATH + 1];
505  HANDLE hFile;
506  DWORD Flags;
508 
509 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
510 #define IMAGEHLP_DUPLICATE_SYMBOL IMAGEHLP_DUPLICATE_SYMBOL64
511 #define PIMAGEHLP_DUPLICATE_SYMBOL PIMAGEHLP_DUPLICATE_SYMBOL64
512 #else
514 {
520 #endif
521 
523 {
529 
530 #define SYMOPT_CASE_INSENSITIVE 0x00000001
531 #define SYMOPT_UNDNAME 0x00000002
532 #define SYMOPT_DEFERRED_LOADS 0x00000004
533 #define SYMOPT_NO_CPP 0x00000008
534 #define SYMOPT_LOAD_LINES 0x00000010
535 #define SYMOPT_OMAP_FIND_NEAREST 0x00000020
536 #define SYMOPT_LOAD_ANYTHING 0x00000040
537 #define SYMOPT_IGNORE_CVREC 0x00000080
538 #define SYMOPT_NO_UNQUALIFIED_LOADS 0x00000100
539 #define SYMOPT_FAIL_CRITICAL_ERRORS 0x00000200
540 #define SYMOPT_EXACT_SYMBOLS 0x00000400
541 #define SYMOPT_WILD_UNDERSCORE 0x00000800
542 #define SYMOPT_USE_DEFAULTS 0x00001000
543 #define SYMOPT_ALLOW_ABSOLUTE_SYMBOLS 0x00000800
544 #define SYMOPT_IGNORE_NT_SYMPATH 0x00001000
545 #define SYMOPT_INCLUDE_32BIT_MODULES 0x00002000
546 #define SYMOPT_PUBLICS_ONLY 0x00004000
547 #define SYMOPT_NO_PUBLICS 0x00008000
548 #define SYMOPT_AUTO_PUBLICS 0x00010000
549 #define SYMOPT_NO_IMAGE_SEARCH 0x00020000
550 #define SYMOPT_SECURE 0x00040000
551 #define SYMOPT_NO_PROMPTS 0x00080000
552 #define SYMOPT_OVERWRITE 0x00100000
553 #define SYMOPT_IGNORE_IMAGEDIR 0x00200000
554 #define SYMOPT_FLAT_DIRECTORY 0x00400000
555 #define SYMOPT_FAVOR_COMPRESSED 0x00800000
556 #define SYMOPT_ALLOW_ZERO_ADDRESS 0x01000000
557 #define SYMOPT_DISABLE_SYMSRV_AUTODETECT 0x02000000
558 #define SYMOPT_READONLY_CACHE 0x04000000
559 #define SYMOPT_SYMPATH_LAST 0x08000000
560 #define SYMOPT_DEBUG 0x80000000
561 
562 typedef struct _IMAGEHLP_STACK_FRAME
563 {
570  ULONG64 Params[4];
571  ULONG64 Reserved[5];
572  BOOL Virtual;
575 
577 
578 #define DBHHEADER_DEBUGDIRS 0x1
579 typedef struct _DBGHELP_MODLOAD_DATA
580 {
581  DWORD ssize;
582  DWORD ssig;
583  PVOID data;
584  DWORD size;
585  DWORD flags;
587 
588 /*************************
589  * MiniDUMP *
590  *************************/
591 
592 #include <pshpack4.h>
593 /* DebugHelp */
594 
595 #define MINIDUMP_SIGNATURE 0x504D444D /* 'MDMP' */
596 #define MINIDUMP_VERSION (42899)
597 
598 typedef DWORD RVA;
599 typedef ULONG64 RVA64;
600 
601 typedef enum _MINIDUMP_TYPE
602 {
603  MiniDumpNormal = 0x0000,
618 } MINIDUMP_TYPE;
619 
621 {
629 
630 typedef struct _MINIDUMP_THREAD_CALLBACK
631 {
632  ULONG ThreadId;
639 
640 typedef struct _MINIDUMP_THREAD_EX_CALLBACK
641 {
642  ULONG ThreadId;
651 
653 {
654  ULONG ThreadId;
656 
657 typedef enum _THREAD_WRITE_FLAGS
658 {
667 
668 typedef struct _MINIDUMP_MODULE_CALLBACK
669 {
673  ULONG CheckSum;
676  PVOID CvRecord;
681 
682 typedef struct _MINIDUMP_INCLUDE_MODULE_CALLBACK
683 {
686 
687 typedef enum _MODULE_WRITE_FLAGS
688 {
697 
698 typedef struct _MINIDUMP_CALLBACK_INPUT
699 {
703  union
704  {
710  } DUMMYUNIONNAME;
712 
713 typedef struct _MINIDUMP_CALLBACK_OUTPUT
714 {
715  union
716  {
719  struct
720  {
723  } DUMMYSTRUCTNAME;
724  } DUMMYUNIONNAME;
726 
727 typedef BOOL
729  _Inout_ PVOID,
732 
733 typedef struct _MINIDUMP_CALLBACK_INFORMATION
734 {
736  void* CallbackParam;
738 
740 {
744 
746 {
750 
751 typedef struct _MINIDUMP_DIRECTORY
752 {
756 
757 typedef struct _MINIDUMP_EXCEPTION
758 {
767 
769 {
774 
776 {
782 
783 typedef struct _MINIDUMP_HEADER
784 {
790  union
791  {
794  } DUMMYUNIONNAME;
797 
799 {
803 
804 typedef struct _MINIDUMP_MEMORY_LIST
805 {
807  MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[1]; /* FIXME: 0-sized array not supported */
809 
810 #define MINIDUMP_MISC1_PROCESS_ID 0x00000001
811 #define MINIDUMP_MISC1_PROCESS_TIMES 0x00000002
812 
813 typedef struct _MINIDUMP_MISC_INFO
814 {
822 
823 typedef struct _MINIDUMP_MODULE
824 {
836 
837 typedef struct _MINIDUMP_MODULE_LIST
838 {
840  MINIDUMP_MODULE Modules[1]; /* FIXME: 0-sized array not supported */
842 
843 typedef struct _MINIDUMP_STRING
844 {
846  WCHAR Buffer[1]; /* FIXME: O-sized array not supported */
848 
849 typedef struct _MINIDUMP_SYSTEM_INFO
850 {
854  union
855  {
857  struct
858  {
861  } DUMMYSTRUCTNAME;
862  } DUMMYUNIONNAME;
863 
868 
870  union
871  {
873  struct
874  {
877  } DUMMYSTRUCTNAME;
878  } DUMMYUNIONNAME1;
880  {
881  struct
882  {
887  } X86CpuInfo;
888  struct
889  {
891  } OtherCpuInfo;
892  } Cpu;
893 
895 
896 typedef struct _MINIDUMP_THREAD
897 {
906 
907 typedef struct _MINIDUMP_THREAD_LIST
908 {
910  MINIDUMP_THREAD Threads[1]; /* FIXME: no support of 0 sized array */
912 
913 typedef struct _MINIDUMP_USER_STREAM
914 {
917  void* Buffer;
919 
921 {
925 
927 {
946 
949 
950 BOOL
951 WINAPI
953  _In_ HANDLE,
954  _In_ DWORD,
955  _In_ HANDLE,
960 
961 BOOL
962 WINAPI
964  _In_ PVOID,
965  _In_ ULONG,
968  _Out_opt_ ULONG*);
969 
970 #include <poppack.h>
971 
972 /*************************
973  * MODULE handling *
974  *************************/
975 
976 /* flags for SymLoadModuleEx */
977 #define SLMFLAG_VIRTUAL 0x1
978 #define SLMFLAG_NO_SYMBOLS 0x4
979 
980 typedef BOOL
982  _In_ PCSTR,
983  _In_ DWORD64,
984  _In_ ULONG,
985  _In_opt_ PVOID);
986 
987 BOOL
988 WINAPI
990  _In_ HANDLE,
992  _In_opt_ PVOID);
993 
994 typedef BOOL
996  _In_ PCWSTR,
997  _In_ DWORD64,
998  _In_ ULONG,
999  _In_opt_ PVOID);
1000 
1001 BOOL
1002 WINAPI
1004  _In_ HANDLE,
1006  _In_opt_ PVOID);
1007 
1008 typedef BOOL
1010  _In_ PCSTR,
1011  _In_ DWORD64,
1012  _In_opt_ PVOID);
1013 
1014 BOOL
1015 WINAPI
1017  _In_ HANDLE,
1019  _In_opt_ PVOID);
1020 
1021 typedef BOOL
1023  _In_ PCWSTR,
1024  _In_ DWORD64,
1025  _In_opt_ PVOID);
1026 
1027 BOOL
1028 WINAPI
1030  _In_ HANDLE,
1032  _In_opt_ PVOID);
1033 
1034 BOOL
1035 WINAPI
1037  _In_ HANDLE,
1038  _In_ DWORD64,
1040 
1041 BOOL
1042 WINAPI
1044  _In_ HANDLE,
1045  _In_ DWORD64,
1047 
1049 
1050 DWORD64
1051 WINAPI
1053  _In_ HANDLE,
1054  _In_opt_ HANDLE,
1055  _In_opt_ PCSTR,
1056  _In_opt_ PCSTR,
1057  _In_ DWORD64,
1058  _In_ DWORD);
1059 
1060 DWORD64
1061 WINAPI
1063  _In_ HANDLE,
1064  _In_opt_ HANDLE,
1065  _In_opt_ PCSTR,
1066  _In_opt_ PCSTR,
1067  _In_ DWORD64,
1068  _In_ DWORD,
1070  _In_opt_ DWORD);
1071 
1072 DWORD64
1073 WINAPI
1075  _In_ HANDLE,
1076  _In_opt_ HANDLE,
1077  _In_opt_ PCWSTR,
1078  _In_opt_ PCWSTR,
1079  _In_ DWORD64,
1080  _In_ DWORD,
1082  _In_opt_ DWORD);
1083 
1085 
1086 /*************************
1087  * Symbol Handling *
1088  *************************/
1089 
1090 #define IMAGEHLP_SYMBOL_INFO_VALUEPRESENT 1
1091 #define IMAGEHLP_SYMBOL_INFO_REGISTER SYMF_REGISTER /* 0x08 */
1092 #define IMAGEHLP_SYMBOL_INFO_REGRELATIVE SYMF_REGREL /* 0x10 */
1093 #define IMAGEHLP_SYMBOL_INFO_FRAMERELATIVE SYMF_FRAMEREL /* 0x20 */
1094 #define IMAGEHLP_SYMBOL_INFO_PARAMETER SYMF_PARAMETER /* 0x40 */
1095 #define IMAGEHLP_SYMBOL_INFO_LOCAL SYMF_LOCAL /* 0x80 */
1096 #define IMAGEHLP_SYMBOL_INFO_CONSTANT SYMF_CONSTANT /* 0x100 */
1097 #define IMAGEHLP_SYMBOL_FUNCTION SYMF_FUNCTION /* 0x800 */
1098 
1099 #define SYMFLAG_VALUEPRESENT 0x00000001
1100 #define SYMFLAG_REGISTER 0x00000008
1101 #define SYMFLAG_REGREL 0x00000010
1102 #define SYMFLAG_FRAMEREL 0x00000020
1103 #define SYMFLAG_PARAMETER 0x00000040
1104 #define SYMFLAG_LOCAL 0x00000080
1105 #define SYMFLAG_CONSTANT 0x00000100
1106 #define SYMFLAG_EXPORT 0x00000200
1107 #define SYMFLAG_FORWARDER 0x00000400
1108 #define SYMFLAG_FUNCTION 0x00000800
1109 #define SYMFLAG_VIRTUAL 0x00001000
1110 #define SYMFLAG_THUNK 0x00002000
1111 #define SYMFLAG_TLSREL 0x00004000
1112 #define SYMFLAG_SLOT 0x00008000
1113 #define SYMFLAG_ILREL 0x00010000
1114 #define SYMFLAG_METADATA 0x00020000
1115 #define SYMFLAG_CLR_TOKEN 0x00040000
1116 #define SYMFLAG_NULL 0x00080000
1117 #define SYMFLAG_FUNC_NO_RETURN 0x00100000
1118 #define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000
1119 #define SYMFLAG_PUBLIC_CODE 0x00400000
1120 
1121 #define MAX_SYM_NAME 2000
1122 
1123 typedef struct _SYMBOL_INFO
1124 {
1126  ULONG TypeIndex;
1127  ULONG64 Reserved[2];
1128  ULONG Index;
1129  ULONG Size;
1130  ULONG64 ModBase;
1131  ULONG Flags;
1132  ULONG64 Value;
1133  ULONG64 Address;
1134  ULONG Register;
1135  ULONG Scope;
1136  ULONG Tag;
1137  ULONG NameLen;
1138  ULONG MaxNameLen;
1139  CHAR Name[1];
1141 
1142 typedef struct _SYMBOL_INFOW
1143 {
1145  ULONG TypeIndex;
1146  ULONG64 Reserved[2];
1147  ULONG Index;
1148  ULONG Size;
1149  ULONG64 ModBase;
1150  ULONG Flags;
1151  ULONG64 Value;
1152  ULONG64 Address;
1153  ULONG Register;
1154  ULONG Scope;
1155  ULONG Tag;
1156  ULONG NameLen;
1157  ULONG MaxNameLen;
1158  WCHAR Name[1];
1160 
1161 typedef struct _SYMBOL_INFO_PACKAGE
1162 {
1166 
1168 {
1172 
1174 {
1203 
1204 #define IMAGEHLP_GET_TYPE_INFO_UNCACHED 0x00000001
1205 #define IMAGEHLP_GET_TYPE_INFO_CHILDREN 0x00000002
1207 {
1227 
1228 typedef struct _TI_FINDCHILDREN_PARAMS
1229 {
1230  ULONG Count;
1231  ULONG Start;
1232  ULONG ChildId[1];
1234 
1235 #define UNDNAME_COMPLETE (0x0000)
1236 #define UNDNAME_NO_LEADING_UNDERSCORES (0x0001)
1237 #define UNDNAME_NO_MS_KEYWORDS (0x0002)
1238 #define UNDNAME_NO_FUNCTION_RETURNS (0x0004)
1239 #define UNDNAME_NO_ALLOCATION_MODEL (0x0008)
1240 #define UNDNAME_NO_ALLOCATION_LANGUAGE (0x0010)
1241 #define UNDNAME_NO_MS_THISTYPE (0x0020)
1242 #define UNDNAME_NO_CV_THISTYPE (0x0040)
1243 #define UNDNAME_NO_THISTYPE (0x0060)
1244 #define UNDNAME_NO_ACCESS_SPECIFIERS (0x0080)
1245 #define UNDNAME_NO_THROW_SIGNATURES (0x0100)
1246 #define UNDNAME_NO_MEMBER_TYPE (0x0200)
1247 #define UNDNAME_NO_RETURN_UDT_MODEL (0x0400)
1248 #define UNDNAME_32_BIT_DECODE (0x0800)
1249 #define UNDNAME_NAME_ONLY (0x1000)
1250 #define UNDNAME_NO_ARGUMENTS (0x2000)
1251 #define UNDNAME_NO_SPECIAL_SYMS (0x4000)
1252 
1253 #define SYMSEARCH_MASKOBJS 0x01
1254 #define SYMSEARCH_RECURSE 0x02
1255 #define SYMSEARCH_GLOBALSONLY 0x04
1256 
1257 BOOL
1258 WINAPI
1260  _In_ HANDLE,
1261  _In_ DWORD64,
1262  _In_ ULONG,
1264  _Out_ PVOID);
1265 
1266 BOOL
1267 WINAPI
1269  _In_ HANDLE,
1270  _In_ DWORD64,
1272 
1273 typedef BOOL
1276  _In_ ULONG,
1277  _In_opt_ PVOID);
1278 
1279 typedef BOOL
1282  _In_ ULONG,
1283  _In_opt_ PVOID);
1284 
1285 BOOL
1286 WINAPI
1287 SymEnumTypes(
1288  _In_ HANDLE,
1289  _In_ ULONG64,
1291  _In_opt_ PVOID);
1292 
1293 BOOL
1294 WINAPI
1296  _In_ HANDLE,
1297  _In_ ULONG64,
1299  _In_opt_ PVOID);
1300 
1301 BOOL
1302 WINAPI
1303 SymFromAddr(
1304  _In_ HANDLE,
1305  _In_ DWORD64,
1306  _Out_opt_ DWORD64*,
1307  _Inout_ SYMBOL_INFO*);
1308 
1309 BOOL
1310 WINAPI
1311 SymFromAddrW(
1312  _In_ HANDLE,
1313  _In_ DWORD64,
1314  _Out_opt_ DWORD64*,
1316 
1317 BOOL
1318 WINAPI
1319 SymFromToken(
1320  _In_ HANDLE,
1321  _In_ DWORD64,
1322  _In_ DWORD,
1324 
1325 BOOL
1326 WINAPI
1328  _In_ HANDLE,
1329  _In_ DWORD64,
1330  _In_ DWORD,
1332 
1335 
1336 BOOL
1337 WINAPI
1339  _In_ HANDLE,
1340  _In_ DWORD64,
1343 
1344 BOOL
1345 WINAPI
1347  _In_ HANDLE,
1348  _In_ PCSTR,
1350 
1351 BOOL
1352 WINAPI
1354  _In_ HANDLE,
1355  _In_ ULONG64,
1356  _In_ PCSTR,
1358 
1359 BOOL
1360 WINAPI
1362  _In_ HANDLE,
1363  _In_ ULONG64,
1364  _In_ PCWSTR,
1366 
1371 
1372 BOOL
1373 WINAPI
1374 SymEnumSym(
1375  _In_ HANDLE,
1376  _In_ ULONG64,
1378  _In_opt_ PVOID);
1379 
1380 BOOL
1381 WINAPI
1383  _In_ HANDLE,
1384  _In_ ULONG64,
1385  _In_opt_ PCSTR,
1387  _In_opt_ PVOID);
1388 
1389 BOOL
1390 WINAPI
1392  _In_ HANDLE,
1393  _In_ ULONG64,
1394  _In_opt_ PCWSTR,
1396  _In_opt_ PVOID);
1397 
1398 typedef BOOL
1400  _In_ PCSTR,
1401  _In_ DWORD64,
1402  _In_ ULONG,
1403  _In_opt_ PVOID);
1404 
1405 typedef BOOL
1407  _In_ PCWSTR,
1408  _In_ DWORD64,
1409  _In_ ULONG,
1410  _In_opt_ PVOID);
1411 
1412 BOOL
1413 WINAPI
1415  _In_ HANDLE,
1416  _In_ ULONG64,
1418  _In_opt_ PVOID);
1419 
1420 BOOL
1421 WINAPI
1423  _In_ HANDLE,
1424  _In_ ULONG64,
1426  _In_opt_ PVOID);
1427 
1428 BOOL
1429 WINAPI
1431  _In_ HANDLE,
1432  _In_ DWORD64,
1434  _In_opt_ PVOID);
1435 
1436 BOOL
1437 WINAPI
1439  _In_ HANDLE,
1440  _In_ DWORD64,
1442  _In_opt_ PVOID);
1443 
1444 typedef BOOL
1446  _In_ HANDLE,
1447  _In_ ULONG,
1448  _In_opt_ ULONG64,
1449  _In_opt_ ULONG64);
1450 
1451 BOOL
1452 WINAPI
1454  _In_ HANDLE,
1456  _In_ ULONG64);
1457 
1458 BOOL
1459 WINAPI
1461  _In_ HANDLE,
1463  _In_ ULONG64);
1464 
1465 BOOL
1466 WINAPI
1467 SymUnDName64(
1469  _Out_writes_(UnDecNameLength) PSTR,
1470  _In_ DWORD UnDecNameLength);
1471 
1475 
1476 BOOL
1477 WINAPI
1478 SymSearch(
1479  _In_ HANDLE,
1480  _In_ ULONG64,
1481  _In_opt_ DWORD,
1482  _In_opt_ DWORD,
1483  _In_opt_ PCSTR,
1484  _In_opt_ DWORD64,
1486  _In_opt_ PVOID,
1487  _In_ DWORD);
1488 
1489 BOOL
1490 WINAPI
1491 SymSearchW(
1492  _In_ HANDLE,
1493  _In_ ULONG64,
1494  _In_opt_ DWORD,
1495  _In_opt_ DWORD,
1496  _In_opt_ PCWSTR,
1497  _In_opt_ DWORD64,
1499  _In_opt_ PVOID,
1500  _In_ DWORD);
1501 
1502 DWORD
1503 WINAPI
1505  _In_ PCSTR,
1506  _Out_writes_(maxStringLength) PSTR,
1507  _In_ DWORD maxStringLength,
1508  _In_ DWORD);
1509 
1510 DWORD
1511 WINAPI
1513  _In_ PCWSTR,
1514  _Out_writes_(maxStringLength) PWSTR,
1515  _In_ DWORD maxStringLength,
1516  _In_ DWORD);
1517 
1518 BOOL
1519 WINAPI
1520 SymGetScope(
1521  _In_ HANDLE,
1522  _In_ ULONG64,
1523  _In_ DWORD,
1525 
1526 BOOL
1527 WINAPI
1528 SymGetScopeW(
1529  _In_ HANDLE,
1530  _In_ ULONG64,
1531  _In_ DWORD,
1533 
1534 BOOL
1535 WINAPI
1536 SymFromIndex(
1537  _In_ HANDLE,
1538  _In_ ULONG64,
1539  _In_ DWORD,
1541 
1542 BOOL
1543 WINAPI
1545  _In_ HANDLE,
1546  _In_ ULONG64,
1547  _In_ DWORD,
1549 
1550 BOOL
1551 WINAPI
1552 SymAddSymbol(
1553  _In_ HANDLE,
1554  _In_ ULONG64,
1555  _In_ PCSTR,
1556  _In_ DWORD64,
1557  _In_ DWORD,
1558  _In_ DWORD);
1559 
1560 BOOL
1561 WINAPI
1563  _In_ HANDLE,
1564  _In_ ULONG64,
1565  _In_ PCWSTR,
1566  _In_ DWORD64,
1567  _In_ DWORD,
1568  _In_ DWORD);
1569 
1570 BOOL
1571 WINAPI
1573  _In_ HANDLE,
1574  _In_ ULONG64,
1575  _In_opt_ PCSTR,
1576  _In_ DWORD64,
1577  _In_ DWORD);
1578 
1579 BOOL
1580 WINAPI
1582  _In_ HANDLE,
1583  _In_ ULONG64,
1584  _In_opt_ PCWSTR,
1585  _In_ DWORD64,
1586  _In_ DWORD);
1587 
1588 /*************************
1589  * Source Files *
1590  *************************/
1591 
1592 typedef BOOL
1594  _In_ PSOURCEFILE,
1595  _In_opt_ PVOID);
1596 
1597 typedef BOOL
1600  _In_opt_ PVOID);
1601 
1602 BOOL
1603 WINAPI
1605  _In_ HANDLE,
1606  _In_ ULONG64,
1607  _In_opt_ PCSTR,
1609  _In_opt_ PVOID);
1610 
1611 BOOL
1612 WINAPI
1614  _In_ HANDLE,
1615  _In_ ULONG64,
1616  _In_opt_ PCWSTR,
1618  _In_opt_ PVOID);
1619 
1620 BOOL
1621 WINAPI
1623  _In_ HANDLE,
1624  _In_ DWORD64,
1625  _Out_ PDWORD,
1627 
1628 BOOL
1629 WINAPI
1631  _In_ HANDLE,
1632  _In_ DWORD64,
1633  _Out_ PDWORD,
1635 
1640 
1641 BOOL
1642 WINAPI
1644  _In_ HANDLE,
1645  _In_opt_ PCSTR,
1646  _In_opt_ PCSTR,
1647  _In_ DWORD,
1648  _Out_ PLONG,
1650 
1651 BOOL
1652 WINAPI
1654  _In_ HANDLE,
1655  _In_opt_ PCWSTR,
1656  _In_opt_ PCWSTR,
1657  _In_ DWORD,
1658  _Out_ PLONG,
1660 
1661 ULONG
1662 WINAPI
1664  _In_ HANDLE,
1665  _In_opt_ PCSTR,
1666  _In_ PCSTR,
1667  _Out_writes_(BufferLines) PDWORD64,
1668  _In_ ULONG BufferLines);
1669 
1670 BOOL
1671 WINAPI
1673  _In_ HANDLE,
1674  _In_ ULONG64,
1675  _In_opt_ PCSTR,
1676  _In_ PCSTR,
1678  _In_ DWORD Size);
1679 
1680 BOOL
1681 WINAPI
1683  _In_ HANDLE,
1684  _In_ ULONG64,
1685  _In_opt_ PCWSTR,
1686  _In_ PCWSTR,
1688  _In_ DWORD Size);
1689 
1690 BOOL
1691 WINAPI
1693  _In_ HANDLE,
1694  _In_ ULONG64,
1695  _In_ PCSTR,
1696  _Outptr_ PVOID*,
1697  _Out_ DWORD*);
1698 
1699 BOOL
1700 WINAPI
1702  _In_ HANDLE,
1703  _In_ ULONG64,
1704  _In_ PCWSTR,
1705  _Outptr_ PVOID*,
1706  _Out_ DWORD*);
1707 
1708 BOOL
1709 WINAPI
1711  _In_ HANDLE,
1712  _In_ PVOID,
1713  _In_opt_ PCSTR,
1715  _In_ DWORD Size);
1716 
1717 BOOL
1718 WINAPI
1720  _In_ HANDLE,
1721  _In_ PVOID,
1722  _In_opt_ PCWSTR,
1724  _In_ DWORD Size);
1725 
1726 BOOL
1727 WINAPI
1729  _In_ HANDLE,
1730  _In_ PVOID,
1731  _In_opt_ PCSTR,
1732  _In_ PCSTR,
1734  _In_ DWORD Size);
1735 
1736 BOOL
1737 WINAPI
1739  _In_ HANDLE,
1740  _In_ PVOID,
1741  _In_opt_ PCWSTR,
1742  _In_ PCWSTR,
1744  _In_ DWORD Size);
1745 
1746 typedef struct _SRCCODEINFO
1747 {
1749  PVOID Key;
1750  DWORD64 ModBase;
1751  CHAR Obj[MAX_PATH+1];
1752  CHAR FileName[MAX_PATH+1];
1753  DWORD LineNumber;
1754  DWORD64 Address;
1756 
1757 typedef struct _SRCCODEINFOW
1758 {
1760  PVOID Key;
1761  DWORD64 ModBase;
1762  WCHAR Obj[MAX_PATH+1];
1763  WCHAR FileName[MAX_PATH+1];
1764  DWORD LineNumber;
1765  DWORD64 Address;
1767 
1768 typedef BOOL
1771  _In_opt_ PVOID);
1772 
1773 typedef BOOL
1776  _In_opt_ PVOID);
1777 
1778 BOOL
1779 WINAPI
1780 SymEnumLines(
1781  _In_ HANDLE,
1782  _In_ ULONG64,
1783  _In_opt_ PCSTR,
1784  _In_opt_ PCSTR,
1786  _In_opt_ PVOID);
1787 
1788 BOOL
1789 WINAPI
1791  _In_ HANDLE,
1792  _In_ ULONG64,
1793  _In_opt_ PCWSTR,
1794  _In_opt_ PCWSTR,
1796  _In_opt_ PVOID);
1797 
1798 BOOL
1799 WINAPI
1801  _In_ HANDLE,
1802  _In_ ULONG64,
1803  _In_opt_ PCSTR,
1804  _In_opt_ PCSTR,
1805  _In_opt_ DWORD,
1806  _In_ DWORD,
1808  _In_opt_ PVOID);
1809 
1810 BOOL
1811 WINAPI
1813  _In_ HANDLE,
1814  _In_ ULONG64,
1815  _In_opt_ PCWSTR,
1816  _In_opt_ PCWSTR,
1817  _In_opt_ DWORD,
1818  _In_ DWORD,
1820  _In_opt_ PVOID);
1821 
1822 /*************************
1823  * File & image handling *
1824  *************************/
1825 
1829 
1830 HANDLE
1831 WINAPI
1833  _In_ PCSTR,
1834  _In_ PCSTR,
1835  _Out_writes_(MAX_PATH + 1) PSTR);
1836 
1837 typedef BOOL
1839  _In_ HANDLE,
1840  _In_ PCSTR,
1841  _In_ PVOID);
1842 
1843 typedef BOOL
1845  _In_ HANDLE,
1846  _In_ PCWSTR,
1847  _In_ PVOID);
1848 
1849 HANDLE
1850 WINAPI
1852  _In_ PCSTR,
1853  _In_ PCSTR,
1854  _Out_writes_(MAX_PATH + 1) PSTR,
1856  _In_opt_ PVOID);
1857 
1858 HANDLE
1859 WINAPI
1861  _In_ PCWSTR,
1862  _In_ PCWSTR,
1865  _In_opt_ PVOID);
1866 
1867 HANDLE
1868 WINAPI
1870  _In_ HANDLE,
1871  _In_ PCSTR,
1872  _Out_writes_(MAX_PATH + 1) PSTR,
1874  _In_opt_ PVOID);
1875 
1876 HANDLE
1877 WINAPI
1879  _In_ HANDLE,
1880  _In_ PCWSTR,
1883  _In_opt_ PVOID);
1884 
1885 typedef BOOL
1887  _In_ PCSTR,
1888  _In_ PVOID);
1889 
1890 typedef BOOL
1892  _In_ PCWSTR,
1893  _In_ PVOID);
1894 
1897 
1898 BOOL
1899 WINAPI
1901  _In_ HANDLE,
1902  _In_opt_ PCSTR,
1903  _In_ PCSTR,
1904  _In_opt_ PVOID,
1905  _In_ DWORD,
1906  _In_ DWORD,
1907  _In_ DWORD,
1908  _Out_writes_(MAX_PATH + 1) PSTR,
1910  _In_opt_ PVOID);
1911 
1912 BOOL
1913 WINAPI
1915  _In_ HANDLE,
1916  _In_opt_ PCWSTR,
1917  _In_ PCWSTR,
1918  _In_opt_ PVOID,
1919  _In_ DWORD,
1920  _In_ DWORD,
1921  _In_ DWORD,
1924  _In_opt_ PVOID);
1925 
1926 HANDLE
1927 WINAPI
1929  _In_ PCSTR,
1930  _In_ PCSTR,
1931  _Out_writes_(MAX_PATH + 1) PSTR);
1932 
1933 typedef BOOL
1935  _In_ HANDLE,
1936  _In_ PCSTR,
1937  _In_opt_ PVOID);
1938 
1939 typedef BOOL
1941  _In_ HANDLE,
1942  _In_ PCWSTR,
1943  _In_opt_ PVOID);
1944 
1945 HANDLE
1946 WINAPI
1948  _In_ PCSTR,
1949  _In_ PCSTR,
1950  _Out_writes_(MAX_PATH + 1) PSTR,
1952  _In_opt_ PVOID);
1953 
1954 HANDLE
1955 WINAPI
1957  _In_ PCWSTR,
1958  _In_ PCWSTR,
1961  _In_opt_ PVOID);
1962 
1963 HANDLE
1964 WINAPI
1966  _In_ HANDLE,
1967  _In_ PCSTR,
1968  _Out_writes_(MAX_PATH + 1) PSTR,
1970  _In_ PVOID);
1971 
1972 HANDLE
1973 WINAPI
1975  _In_ HANDLE,
1976  _In_ PCWSTR,
1979  _In_ PVOID);
1980 
1982 
1983 PVOID
1984 WINAPI
1986  _In_ PVOID,
1987  _In_ BOOLEAN,
1988  _In_ USHORT,
1989  _Out_ PULONG,
1991 
1992 PVOID
1993 WINAPI
1995  _In_ PVOID,
1996  _In_ BOOLEAN,
1997  _In_ USHORT,
1998  _Out_ PULONG);
1999 
2001 WINAPI
2004  _In_ PVOID,
2005  _In_ ULONG);
2006 
2007 PVOID
2008 WINAPI
2009 ImageRvaToVa(
2011  _In_ PVOID,
2012  _In_ ULONG,
2014 
2015 BOOL
2016 WINAPI
2018  _In_ HANDLE,
2019  _Out_writes_(SearchPathLength) PSTR,
2020  _In_ DWORD SearchPathLength);
2021 
2022 BOOL
2023 WINAPI
2025  _In_ HANDLE,
2026  _Out_writes_(SearchPathLength) PWSTR,
2027  _In_ DWORD SearchPathLength);
2028 
2033 
2034 BOOL
2035 WINAPI
2037  _In_ PCSTR,
2038  _In_ PCSTR,
2039  _Out_writes_(MAX_PATH + 1) PSTR);
2040 
2041 BOOL
2042 WINAPI
2044  _In_ PCWSTR,
2045  _In_ PCWSTR,
2046  _Out_writes_(MAX_PATH + 1) PWSTR);
2047 
2048 typedef BOOL
2050  _In_ PCSTR,
2051  _In_opt_ PVOID);
2052 
2053 typedef BOOL
2055  _In_ PCWSTR,
2056  _In_opt_ PVOID);
2057 
2058 BOOL
2059 WINAPI
2060 EnumDirTree(
2061  _In_opt_ HANDLE,
2062  _In_ PCSTR,
2063  _In_ PCSTR,
2066  _In_opt_ PVOID);
2067 
2068 BOOL
2069 WINAPI
2070 EnumDirTreeW(
2071  _In_opt_ HANDLE,
2072  _In_ PCWSTR,
2073  _In_ PCWSTR,
2076  _In_opt_ PVOID);
2077 
2078 BOOL
2079 WINAPI
2081  _In_ PCSTR,
2082  _In_ PCSTR,
2083  _Outptr_opt_ PSTR*,
2084  _Outptr_opt_ PSTR*);
2085 
2086 BOOL
2087 WINAPI
2089  _In_ PCWSTR,
2090  _In_ PCWSTR,
2092  _Outptr_opt_ PWSTR*);
2093 
2096 
2097 PCHAR
2098 WINAPI
2100  _In_ DWORD,
2102  _In_ size_t size);
2103 
2104 PWSTR
2105 WINAPI
2107  _In_ DWORD,
2109  _In_ size_t size);
2110 
2111 #define hdBase 0
2112 #define hdSym 1
2113 #define hdSrc 2
2114 #define hdMax 3
2115 
2116 /*************************
2117  * Context management *
2118  *************************/
2119 
2120 BOOL
2121 WINAPI
2123  _In_ HANDLE,
2126 
2127 
2128 /*************************
2129  * Stack management *
2130  *************************/
2131 
2132 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
2133 #define KDHELP KDHELP64
2134 #define PKDHELP PKDHELP64
2135 #else
2136 typedef struct _KDHELP
2137 {
2145 } KDHELP, *PKDHELP;
2146 #endif
2147 
2148 typedef struct _KDHELP64
2149 {
2150  DWORD64 Thread;
2158  DWORD64 Reserved[8];
2159 } KDHELP64, *PKDHELP64;
2160 
2161 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
2162 #define STACKFRAME STACKFRAME64
2163 #define LPSTACKFRAME LPSTACKFRAME64
2164 #else
2165 typedef struct _STACKFRAME
2166 {
2179 #endif
2180 
2181 typedef struct _STACKFRAME64
2182 {
2183  ADDRESS64 AddrPC;
2189  DWORD64 Params[4];
2190  BOOL Far;
2191  BOOL Virtual;
2192  DWORD64 Reserved[3];
2193  KDHELP64 KdHelp;
2195 
2196 typedef BOOL
2198  _In_ HANDLE,
2199  _In_ DWORD64,
2201  _In_ DWORD nSize,
2202  _Out_ PDWORD);
2203 
2204 typedef PVOID
2206  _In_ HANDLE,
2207  _In_ DWORD64);
2208 
2209 typedef DWORD64
2211  _In_ HANDLE,
2212  _In_ DWORD64);
2213 
2214 typedef DWORD64
2216  _In_ HANDLE,
2217  _In_ HANDLE,
2218  _In_ LPADDRESS64);
2219 
2220 BOOL
2221 WINAPI
2222 StackWalk64(
2223  _In_ DWORD,
2224  _In_ HANDLE,
2225  _In_ HANDLE,
2227  _Inout_ PVOID,
2232 
2234 
2235 typedef PVOID
2237  _In_ HANDLE,
2238  _In_ ULONG64,
2239  _In_ ULONG64);
2240 
2241 BOOL
2242 WINAPI
2244  _In_ HANDLE,
2246  _In_ ULONG64);
2247 
2248 /*************************
2249  * Version, global stuff *
2250  *************************/
2251 
2252 #define API_VERSION_NUMBER 9
2253 
2254 typedef struct API_VERSION
2255 {
2258  USHORT Revision;
2259  USHORT Reserved;
2261 
2264 
2266 {
2299 
2300 
2302 WINAPI
2304  _In_opt_ HANDLE,
2305  _In_ PCSTR,
2306  _In_opt_ PCSTR,
2307  _In_ ULONG);
2308 
2310 
2311 DWORD WINAPI SymGetOptions(void);
2313 
2315 
2316 BOOL
2317 IMAGEAPI
2320  _In_ PCSTR path);
2321 
2322 BOOL
2323 IMAGEAPI
2326  _In_ PCWSTR path);
2327 
2328 /*************************
2329  * Version, global stuff *
2330  *************************/
2331 
2343 
2344 #define SSRVOPT_CALLBACK 0x0001
2345 #define SSRVOPT_DWORD 0x0002
2346 #define SSRVOPT_DWORDPTR 0x0004
2347 #define SSRVOPT_GUIDPTR 0x0008
2348 #define SSRVOPT_OLDGUIDPTR 0x0010
2349 #define SSRVOPT_UNATTENDED 0x0020
2350 #define SSRVOPT_NOCOPY 0x0040
2351 #define SSRVOPT_PARENTWIN 0x0080
2352 #define SSRVOPT_PARAMTYPE 0x0100
2353 #define SSRVOPT_SECURE 0x0200
2354 #define SSRVOPT_TRACE 0x0400
2355 #define SSRVOPT_SETCONTEXT 0x0800
2356 #define SSRVOPT_PROXY 0x1000
2357 #define SSRVOPT_DOWNSTREAM_STORE 0x2000
2358 #define SSRVOPT_RESET ((ULONG_PTR)-1)
2359 
2360 #define SSRVACTION_TRACE 1
2361 #define SSRVACTION_QUERYCANCEL 2
2362 #define SSRVACTION_EVENT 3
2363 
2364 /* 32-bit functions */
2365 
2366 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
2367 
2368 #define PENUMLOADED_MODULES_CALLBACK PENUMLOADED_MODULES_CALLBACK64
2369 #define PFUNCTION_TABLE_ACCESS_ROUTINE PFUNCTION_TABLE_ACCESS_ROUTINE64
2370 #define PGET_MODULE_BASE_ROUTINE PGET_MODULE_BASE_ROUTINE64
2371 #define PREAD_PROCESS_MEMORY_ROUTINE PREAD_PROCESS_MEMORY_ROUTINE64
2372 #define PSYMBOL_FUNCENTRY_CALLBACK PSYMBOL_FUNCENTRY_CALLBACK64
2373 #define PSYMBOL_REGISTERED_CALLBACK PSYMBOL_REGISTERED_CALLBACK64
2374 #define PSYM_ENUMMODULES_CALLBACK PSYM_ENUMMODULES_CALLBACK64
2375 #define PSYM_ENUMSYMBOLS_CALLBACK PSYM_ENUMSYMBOLS_CALLBACK64
2376 #define PSYM_ENUMSYMBOLS_CALLBACKW PSYM_ENUMSYMBOLS_CALLBACKW64
2377 #define PTRANSLATE_ADDRESS_ROUTINE PTRANSLATE_ADDRESS_ROUTINE64
2378 
2379 #define EnumerateLoadedModules EnumerateLoadedModules64
2380 #define StackWalk StackWalk64
2381 #define SymEnumerateModules SymEnumerateModules64
2382 #define SymEnumerateSymbols SymEnumerateSymbols64
2383 #define SymEnumerateSymbolsW SymEnumerateSymbolsW64
2384 #define SymFunctionTableAccess SymFunctionTableAccess64
2385 #define SymGetLineFromAddr SymGetLineFromAddr64
2386 #define SymGetLineFromAddrW SymGetLineFromAddrW64
2387 #define SymGetLineFromName SymGetLineFromName64
2388 #define SymGetLineNext SymGetLineNext64
2389 #define SymGetLineNextW SymGetLineNextW64
2390 #define SymGetLinePrev SymGetLinePrev64
2391 #define SymGetLinePrevW SymGetLinePrevW64
2392 #define SymGetModuleBase SymGetModuleBase64
2393 #define SymGetModuleInfo SymGetModuleInfo64
2394 #define SymGetModuleInfoW SymGetModuleInfoW64
2395 #define SymGetSymFromAddr SymGetSymFromAddr64
2396 #define SymGetSymFromName SymGetSymFromName64
2397 #define SymGetSymNext SymGetSymNext64
2398 #define SymGetSymNextW SymGetSymNextW64
2399 #define SymGetSymPrev SymGetSymPrev64
2400 #define SymGetSymPrevW SymGetSymPrevW64
2401 #define SymLoadModule SymLoadModule64
2402 #define SymRegisterCallback SymRegisterCallback64
2403 #define SymRegisterFunctionEntryCallback SymRegisterFunctionEntryCallback64
2404 #define SymUnDName SymUnDName64
2405 #define SymUnloadModule SymUnloadModule64
2406 
2407 #else
2408 
2409 typedef BOOL
2411  _In_ PCSTR,
2412  _In_ ULONG,
2413  _In_ ULONG,
2414  _In_opt_ PVOID);
2415 
2416 typedef PVOID
2418  _In_ HANDLE,
2419  _In_ DWORD);
2420 
2421 typedef DWORD
2423  _In_ HANDLE,
2424  _In_ DWORD);
2425 
2426 typedef BOOL
2428  _In_ HANDLE,
2429  _In_ DWORD,
2431  _In_ DWORD nSize,
2432  _Out_ PDWORD);
2433 
2434 typedef BOOL
2436  _In_ PCSTR,
2437  _In_ ULONG,
2438  _In_opt_ PVOID);
2439 
2440 typedef BOOL
2442  _In_ PCSTR,
2443  _In_ ULONG,
2444  _In_ ULONG,
2445  _In_opt_ PVOID);
2446 
2447 typedef BOOL
2449  _In_ PCWSTR,
2450  _In_ ULONG,
2451  _In_ ULONG,
2452  _In_opt_ PVOID);
2453 
2454 typedef BOOL
2456  _In_ HANDLE,
2457  _In_ ULONG,
2458  _In_opt_ PVOID,
2459  _In_opt_ PVOID);
2460 
2461 typedef PVOID
2463  _In_ HANDLE,
2464  _In_ DWORD,
2465  _In_opt_ PVOID);
2466 
2467 typedef DWORD
2469  _In_ HANDLE,
2470  _In_ HANDLE,
2471  _Out_ LPADDRESS);
2472 
2473 BOOL
2474 WINAPI
2476  _In_ HANDLE,
2478  _In_opt_ PVOID);
2479 
2480 BOOL
2481 WINAPI
2482 StackWalk(
2483  _In_ DWORD,
2484  _In_ HANDLE,
2485  _In_ HANDLE,
2487  _Inout_ PVOID,
2492 
2493 BOOL
2494 WINAPI
2496  _In_ HANDLE,
2498  _In_opt_ PVOID);
2499 
2500 BOOL
2501 WINAPI
2503  _In_ HANDLE,
2504  _In_ ULONG,
2506  _In_opt_ PVOID);
2507 
2508 BOOL
2509 WINAPI
2511  _In_ HANDLE,
2512  _In_ ULONG,
2514  _In_opt_ PVOID);
2515 
2517 
2518 BOOL
2519 WINAPI
2521  _In_ HANDLE,
2522  _In_ DWORD,
2523  _Out_ PDWORD,
2525 
2526 BOOL
2527 WINAPI
2529  _In_ HANDLE,
2530  _In_ DWORD,
2531  _Out_ PDWORD,
2533 
2534 BOOL
2535 WINAPI
2537  _In_ HANDLE,
2538  _In_opt_ PCSTR,
2539  _In_opt_ PCSTR,
2540  _In_ DWORD,
2541  _Out_ PLONG,
2543 
2549 
2550 BOOL
2551 WINAPI
2553  _In_ HANDLE,
2554  _In_ DWORD,
2556 
2557 BOOL
2558 WINAPI
2560  _In_ HANDLE,
2561  _In_ DWORD,
2563 
2564 BOOL
2565 WINAPI
2567  _In_ HANDLE,
2568  _In_ DWORD,
2569  _Out_opt_ PDWORD,
2571 
2572 BOOL
2573 WINAPI
2575  _In_ HANDLE,
2576  _In_ PCSTR,
2578 
2583 
2584 DWORD
2585 WINAPI
2587  _In_ HANDLE,
2588  _In_opt_ HANDLE,
2589  _In_opt_ PCSTR,
2590  _In_opt_ PCSTR,
2591  _In_ DWORD,
2592  _In_ DWORD);
2593 
2594 BOOL
2595 WINAPI
2597  _In_ HANDLE,
2599  _In_opt_ PVOID);
2600 
2601 BOOL
2602 WINAPI
2604  _In_ HANDLE,
2606  _In_opt_ PVOID);
2607 
2609 
2610 BOOL
2611 WINAPI
2612 SymUnDName(
2614  _Out_writes_(UnDecNameLength) PSTR,
2615  _In_ DWORD UnDecNameLength);
2616 
2618 
2619 #endif
2620 
2621 #ifdef __cplusplus
2622 } /* extern "C" */
2623 #endif /* defined(__cplusplus) */
2624 
2625 #endif /* __WINE_DBGHELP_H */
_THREAD_WRITE_FLAGS
Definition: compat.h:785
BOOL WINAPI SymGetSourceFileFromToken(_In_ HANDLE, _In_ PVOID, _In_opt_ PCSTR, _Out_writes_(Size) PSTR, _In_ DWORD Size)
HANDLE WINAPI FindExecutableImage(_In_ PCSTR, _In_ PCSTR, _Out_writes_(MAX_PATH+1) PSTR)
DWORD64 Address
Definition: compat.h:1137
BOOL WINAPI SymGetLineFromAddrW64(_In_ HANDLE, _In_ DWORD64, _Out_ PDWORD, _Out_ PIMAGEHLP_LINEW64)
BOOL WINAPI EnumerateLoadedModules64(_In_ HANDLE, _In_ PENUMLOADED_MODULES_CALLBACK64, _In_opt_ PVOID)
signed char * PCHAR
Definition: retypes.h:7
struct _MINIDUMP_EXCEPTION * PMINIDUMP_EXCEPTION
ULONG NumberOfMemoryRanges
Definition: dbghelp.h:806
unsigned __int3264 UINT_PTR
Definition: activex.cpp:275
BOOL WINAPI SymEnumTypesW(_In_ HANDLE, _In_ ULONG64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACKW, _In_opt_ PVOID)
struct _MINIDUMP_THREAD_CALLBACK * PMINIDUMP_THREAD_CALLBACK
DWORD RVA
Definition: dbghelp.h:598
BOOL WINAPI SymEnumSym(_In_ HANDLE, _In_ ULONG64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACK, _In_opt_ PVOID)
ULONG Tag
Definition: compat.h:698
SYM_TYPE SymType
Definition: compat.h:885
BOOL WINAPI SymEnumSourceFiles(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCSTR, _In_ PSYM_ENUMSOURCEFILES_CALLBACK, _In_opt_ PVOID)
BOOL WINAPI SymGetLineNext(_In_ HANDLE, _Inout_ PIMAGEHLP_LINE)
DWORD ReservedSizeOfCodeViewSymbols
Definition: dbghelp.h:2287
ULONG WINAPI SymGetFileLineOffsets64(_In_ HANDLE, _In_opt_ PCSTR, _In_ PCSTR, _Out_writes_(BufferLines) PDWORD64, _In_ ULONG BufferLines)
struct _LOADED_IMAGE LOADED_IMAGE
BOOL WINAPI SymGetSymFromAddr64(_In_ HANDLE, _In_ DWORD64, _Out_opt_ PDWORD64, _Inout_ PIMAGEHLP_SYMBOL64)
const uint16_t * PCWSTR
Definition: typedefs.h:55
DWORD MaxNameLength
Definition: compat.h:1120
BOOL WINAPI SymAddSymbolW(_In_ HANDLE, _In_ ULONG64, _In_ PCWSTR, _In_ DWORD64, _In_ DWORD, _In_ DWORD)
SYM_TYPE
Definition: compat.h:703
BOOL WINAPI SymGetLinePrev(_In_ HANDLE, _Inout_ PIMAGEHLP_LINE)
BOOL(CALLBACK * PSYM_ENUMLINES_CALLBACKW)(_In_ PSRCCODEINFOW, _In_opt_ PVOID)
Definition: dbghelp.h:1774
PEXCEPTION_POINTERS ExceptionPointers
Definition: dbghelp.h:771
ADDRESS_MODE Mode
Definition: compat.h:838
DWORD(CALLBACK * PGET_MODULE_BASE_ROUTINE)(_In_ HANDLE, _In_ DWORD)
Definition: dbghelp.h:2422
ULONG64 RVA64
Definition: compat.h:904
DWORD ReservedNumberOfDebugDirectories
Definition: dbghelp.h:2295
BOOLEAN fDOSImage
Definition: dbghelp.h:112
struct _MINIDUMP_THREAD_EX_CALLBACK MINIDUMP_THREAD_EX_CALLBACK
struct MINIDUMP_EXCEPTION_STREAM * PMINIDUMP_EXCEPTION_STREAM
ULONG64 BaseOfImage
Definition: dbghelp.h:825
ULONG NameLen
Definition: compat.h:699
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD * PIMAGEHLP_DEFERRED_SYMBOL_LOAD
BOOL WINAPI SymEnumerateSymbols(_In_ HANDLE, _In_ ULONG, _In_ PSYM_ENUMSYMBOLS_CALLBACK, _In_opt_ PVOID)
struct _IMAGEHLP_GET_TYPE_INFO_PARAMS IMAGEHLP_GET_TYPE_INFO_PARAMS
struct _MINIDUMP_THREAD MINIDUMP_THREAD
struct _SOURCEFILEW SOURCEFILEW
DWORD64 ModBase
Definition: compat.h:1100
BOOL WINAPI SymGetSymPrevW64(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOLW64)
SYMBOL_INFO si
Definition: dbghelp.h:1163
struct _MINIDUMP_SYSTEM_INFO::@2700::@2702 DUMMYSTRUCTNAME
ULONG64 Address
Definition: compat.h:1007
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
BOOL WINAPI MiniDumpWriteDump(_In_ HANDLE, _In_ DWORD, _In_ HANDLE, _In_ MINIDUMP_TYPE, _In_opt_ PMINIDUMP_EXCEPTION_INFORMATION, _In_opt_ PMINIDUMP_USER_STREAM_INFORMATION, _In_opt_ PMINIDUMP_CALLBACK_INFORMATION)
BOOL WINAPI SymInitializeW(_In_ HANDLE, _In_opt_ PCWSTR, _In_ BOOL)
DWORD NumberOfStreams
Definition: dbghelp.h:787
HANDLE hFile
Definition: dbghelp.h:100
DWORD Params[4]
Definition: dbghelp.h:2172
ULONG MaxNameLen
Definition: compat.h:700
DWORD SizeOfStruct
Definition: compat.h:1160
BOOL WINAPI SymMatchFileName(_In_ PCSTR, _In_ PCSTR, _Outptr_opt_ PSTR *, _Outptr_opt_ PSTR *)
struct _MINIDUMP_USER_STREAM MINIDUMP_USER_STREAM
BOOL WINAPI SymGetLineFromAddr(_In_ HANDLE, _In_ DWORD, _Out_ PDWORD, _Out_ PIMAGEHLP_LINE)
ULONG NumberParameters
Definition: dbghelp.h:763
struct _IMAGEHLP_SYMBOLW64 IMAGEHLP_SYMBOLW64
WCHAR ModuleName[32]
Definition: compat.h:725
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACKW64)(_In_ PCWSTR, _In_ DWORD64, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:995
struct _IMAGEHLP_SYMBOLW IMAGEHLP_SYMBOLW
USHORT MajorVersion
Definition: compat.h:1212
MINIDUMP_THREAD_EX_CALLBACK ThreadEx
Definition: compat.h:972
PVOID FuncTableEntry
Definition: dbghelp.h:2171
HANDLE WINAPI SymFindExecutableImageW(_In_ HANDLE, _In_ PCWSTR, _Out_writes_(MAX_PATH+1) PWSTR, _In_ PFIND_EXE_FILE_CALLBACKW, _In_ PVOID)
BOOL WINAPI SymSetContext(_In_ HANDLE, _In_ PIMAGEHLP_STACK_FRAME, _In_opt_ PIMAGEHLP_CONTEXT)
ULONG MaxNameLen
Definition: compat.h:1012
BOOL WINAPI SymGetTypeInfo(_In_ HANDLE, _In_ DWORD64, _In_ ULONG, _In_ IMAGEHLP_SYMBOL_TYPE_INFO, _Out_ PVOID)
PIMAGE_SECTION_HEADER Sections
Definition: dbghelp.h:109
struct _LOADED_IMAGE * PLOADED_IMAGE
PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols
Definition: dbghelp.h:2286
struct _SYMBOL_INFO_PACKAGEW * PSYMBOL_INFO_PACKAGEW
ULONG64 ModBase
Definition: compat.h:1004
MINIDUMP_LOCATION_DESCRIPTOR ThreadContext
Definition: dbghelp.h:904
struct _SOURCEFILE * PSOURCEFILE
union _MINIDUMP_SYSTEM_INFO::_CPU_INFORMATION Cpu
PVOID Key
Definition: compat.h:753
BOOL(CALLBACK * PSYM_ENUMERATESYMBOLS_CALLBACKW)(_In_ PSYMBOL_INFOW, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:1280
struct _IMAGEHLP_MODULEW64 IMAGEHLP_MODULEW64
PIMAGE_SECTION_HEADER ReservedSections
Definition: dbghelp.h:2276
BOOL WINAPI SymRefreshModuleList(_In_ HANDLE)
DWORD64 BaseOfImage
Definition: compat.h:719
struct _KDHELP64 KDHELP64
DWORD LineNumber
Definition: compat.h:1180
MINIDUMP_THREAD_CALLBACK Thread
Definition: compat.h:971
uint16_t * PWSTR
Definition: typedefs.h:54
SYMBOL_INFOW si
Definition: dbghelp.h:1169
BOOL WINAPI SymGetLineFromAddr64(_In_ HANDLE, _In_ DWORD64, _Out_ PDWORD, _Out_ PIMAGEHLP_LINE64)
DWORD SizeOfStruct
Definition: compat.h:1136
union _MINIDUMP_SYSTEM_INFO::@2701 DUMMYUNIONNAME1
ULONG64 FuncTableEntry
Definition: compat.h:1022
PVOID(CALLBACK * PSYMBOL_FUNCENTRY_CALLBACK)(_In_ HANDLE, _In_ DWORD, _In_opt_ PVOID)
Definition: dbghelp.h:2462
enum _MODULE_WRITE_FLAGS MODULE_WRITE_FLAGS
DWORD SizeOfStruct
Definition: compat.h:1098
unsigned char * PUCHAR
Definition: retypes.h:3
BOOL WINAPI EnumDirTree(_In_opt_ HANDLE, _In_ PCSTR, _In_ PCSTR, _Out_writes_opt_(MAX_PATH+1) PSTR, _In_opt_ PENUMDIRTREE_CALLBACK, _In_opt_ PVOID)
char CHAR
Definition: xmlstorage.h:175
_MINIDUMP_STREAM_TYPE
Definition: dbghelp.h:926
DWORD BaseOfImage
Definition: compat.h:857
BOOL(CALLBACK * PFIND_EXE_FILE_CALLBACKW)(_In_ HANDLE, _In_ PCWSTR, _In_opt_ PVOID)
Definition: dbghelp.h:1940
IMAGEHLP_SYMBOL_TYPE_INFO * ReqKinds
Definition: dbghelp.h:1214
CHAR LoadedPdbName[256]
Definition: compat.h:889
ULONG Scope
Definition: compat.h:697
BOOL(CALLBACK * PFINDFILEINPATHCALLBACKW)(_In_ PCWSTR, _In_ PVOID)
Definition: dbghelp.h:1891
DWORD64 KeUserCallbackDispatcher
Definition: compat.h:1036
CHAR ModuleName[32]
Definition: compat.h:886
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2024
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK)(_In_ PCSTR, _In_ ULONG, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:2441
ULONG64 BackingStoreOffset
Definition: compat.h:1021
WCHAR ImageName[256]
Definition: compat.h:864
USHORT MinorVersion
Definition: compat.h:1213
BOOL WINAPI SymSetSearchPathW(_In_ HANDLE, _In_opt_ PCWSTR)
struct _MINIDUMP_THREAD_LIST MINIDUMP_THREAD_LIST
#define CALLBACK
Definition: compat.h:27
BOOL WINAPI SymGetModuleInfoW(_In_ HANDLE, _In_ DWORD, _Out_ PIMAGEHLP_MODULEW)
DWORD WINAPI SymSetOptions(_In_ DWORD)
DWORD64 Address
Definition: compat.h:1104
#define _Outptr_
Definition: no_sal2.h:396
ULONG Flags
Definition: compat.h:693
PWSTR WINAPI SymGetHomeDirectoryW(_In_ DWORD, _Out_writes_(size) PWSTR, _In_ size_t size)
BOOL WINAPI SymGetLinePrevW64(_In_ HANDLE, _Inout_ PIMAGEHLP_LINEW64)
BOOL WINAPI SymGetSymNextW64(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOLW64)
BOOL WINAPI UnmapDebugInformation(_Out_ PIMAGE_DEBUG_INFORMATION)
struct _IMAGEHLP_MODULEW64 * PIMAGEHLP_MODULEW64
PVOID Key
Definition: compat.h:1099
DWORD SizeOfStruct
Definition: compat.h:1126
DWORD SizeOfStruct
Definition: compat.h:1169
PVOID WINAPI SymFunctionTableAccess(_In_ HANDLE, _In_ DWORD)
struct _MINIDUMP_MODULE MINIDUMP_MODULE
BOOL WINAPI SymSetParentWindow(_In_ HWND)
BOOL WINAPI SearchTreeForFileW(_In_ PCWSTR, _In_ PCWSTR, _Out_writes_(MAX_PATH+1) PWSTR)
struct _MINIDUMP_CALLBACK_OUTPUT MINIDUMP_CALLBACK_OUTPUT
BOOL WINAPI SymEnumLines(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ PSYM_ENUMLINES_CALLBACK, _In_opt_ PVOID)
struct _DBGHELP_MODLOAD_DATA MODLOAD_DATA
DWORD Reserved
Definition: dbghelp.h:792
DWORD(CALLBACK * PTRANSLATE_ADDRESS_ROUTINE)(_In_ HANDLE, _In_ HANDLE, _Out_ LPADDRESS)
Definition: dbghelp.h:2468
MINIDUMP_MODULE_CALLBACK Module
Definition: compat.h:973
struct _SYMBOL_INFO_PACKAGE * PSYMBOL_INFO_PACKAGE
struct _SOURCEFILE SOURCEFILE
ULONG TypeIndex
Definition: compat.h:688
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: compat.h:194
struct _MINIDUMP_LOCATION_DESCRIPTOR64 MINIDUMP_LOCATION_DESCRIPTOR64
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
struct _MINIDUMP_MEMORY_LIST MINIDUMP_MEMORY_LIST
struct _IMAGEHLP_MODULE * PIMAGEHLP_MODULE
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACKW64)(_In_ PCWSTR, _In_ DWORD64, _In_opt_ PVOID)
Definition: dbghelp.h:1022
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE)(_In_ HANDLE, _In_ DWORD, _Out_writes_bytes_(nSize) PVOID, _In_ DWORD nSize, _Out_ PDWORD)
Definition: dbghelp.h:2427
DWORD64 Params[4]
Definition: compat.h:1048
ULONG64 Address
Definition: compat.h:695
BOOL WINAPI SymEnumerateModulesW64(_In_ HANDLE, _In_ PSYM_ENUMMODULES_CALLBACKW64, _In_opt_ PVOID)
BOOL WINAPI SymGetLineNext64(_In_ HANDLE, _Inout_ PIMAGEHLP_LINE64)
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK)(_In_ PCSTR, _In_ ULONG, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:2410
ADDRESS AddrPC
Definition: dbghelp.h:2167
DWORD LineNumber
Definition: compat.h:1162
DWORD WINAPI SymGetOptions(void)
Definition: dbghelp.c:458
BOOL WINAPI SymRegisterCallback(_In_ HANDLE, _In_ PSYMBOL_REGISTERED_CALLBACK, _In_opt_ PVOID)
DWORD WINAPI UnDecorateSymbolName(_In_ PCSTR, _Out_writes_(maxStringLength) PSTR, _In_ DWORD maxStringLength, _In_ DWORD)
DWORD KeUserCallbackDispatcher
Definition: dbghelp.h:2143
BOOL WINAPI SymEnumerateSymbols64(_In_ HANDLE, _In_ ULONG64, _In_ PSYM_ENUMSYMBOLS_CALLBACK64, _In_opt_ PVOID)
DWORD64 WINAPI SymGetModuleBase64(_In_ HANDLE, _In_ DWORD64)
BOOL(CALLBACK * PSYMBOLSERVERCALLBACKPROC)(UINT_PTR, ULONG64, ULONG64)
Definition: dbghelp.h:2338
uint16_t * PWCHAR
Definition: typedefs.h:54
struct _KDHELP KDHELP
struct _IMAGEHLP_STACK_FRAME IMAGEHLP_STACK_FRAME
ADDRESS64 AddrBStore
Definition: compat.h:1046
DWORD WINAPI GetTimestampForLoadedLibrary(_In_ HMODULE)
_IMAGEHLP_SYMBOL_TYPE_INFO
Definition: compat.h:1054
PVOID(CALLBACK * PSYMBOL_FUNCENTRY_CALLBACK64)(_In_ HANDLE, _In_ ULONG64, _In_ ULONG64)
Definition: dbghelp.h:2236
struct _MINIDUMP_MEMORY_DESCRIPTOR MINIDUMP_MEMORY_DESCRIPTOR
LPAPI_VERSION WINAPI ImagehlpApiVersion(void)
Definition: dbghelp.c:657
DWORD ReservedNumberOfFpoTableEntries
Definition: dbghelp.h:2283
struct _IMAGEHLP_CBA_EVENTW * PIMAGEHLP_CBA_EVENTW
#define BOOL
Definition: nt_native.h:43
struct _MINIDUMP_MISC_INFO * PMINIDUMP_MISC_INFO
enum _MINIDUMP_CALLBACK_TYPE MINIDUMP_CALLBACK_TYPE
#define DWORD
Definition: nt_native.h:44
DWORD ThCallbackStack
Definition: compat.h:1031
ULONG64 Flags
Definition: dbghelp.h:795
struct _IMAGEHLP_LINEW64 * PIMAGEHLP_LINEW64
PCHAR WINAPI SymSetHomeDirectory(_In_opt_ HANDLE, _In_opt_ PCSTR)
struct _MINIDUMP_USER_STREAM_INFORMATION * PMINIDUMP_USER_STREAM_INFORMATION
struct _MINIDUMP_DIRECTORY MINIDUMP_DIRECTORY
PCHAR FileName
Definition: compat.h:747
WORD Segment
Definition: compat.h:816
DWORD CheckSum
Definition: compat.h:860
#define _In_opt_
Definition: no_sal2.h:213
BOOL WINAPI SymGetSymNext64(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOL64)
BOOL WINAPI SymEnumSymbolsW(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCWSTR, _In_ PSYM_ENUMERATESYMBOLS_CALLBACKW, _In_opt_ PVOID)
PIMAGE_FUNCTION_ENTRY ReservedFunctionTableEntries
Definition: dbghelp.h:2280
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE64)(_In_ HANDLE, _In_ DWORD64, _Out_writes_bytes_(nSize) PVOID, _In_ DWORD nSize, _Out_ PDWORD)
Definition: dbghelp.h:2197
ULONG NumberOfSections
Definition: dbghelp.h:108
BOOL WINAPI SymGetSourceFile(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCSTR, _In_ PCSTR, _Out_writes_(Size) PSTR, _In_ DWORD Size)
BOOL(WINAPI * PSYMBOLSERVERCLOSEPROC)(void)
Definition: dbghelp.h:2336
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACK64)(_In_ PCSTR, _In_ DWORD64, _In_opt_ PVOID)
Definition: dbghelp.h:1009
BOOL WINAPI SymSearch(_In_ HANDLE, _In_ ULONG64, _In_opt_ DWORD, _In_opt_ DWORD, _In_opt_ PCSTR, _In_opt_ DWORD64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACK, _In_opt_ PVOID, _In_ DWORD)
struct _IMAGEHLP_LINEW IMAGEHLP_LINEW
DWORD TimeDateStamp
Definition: compat.h:882
BOOL WINAPI SymGetModuleInfo64(_In_ HANDLE, _In_ DWORD64, _Out_ PIMAGEHLP_MODULE64)
BOOL(CALLBACK * PFIND_EXE_FILE_CALLBACK)(_In_ HANDLE, _In_ PCSTR, _In_opt_ PVOID)
Definition: dbghelp.h:1934
uint32_t ULONG_PTR
Definition: typedefs.h:63
DWORD FramePointer
Definition: compat.h:1034
SYM_TYPE
Definition: dbghelp.h:166
BOOL(WINAPI * MINIDUMP_CALLBACK_ROUTINE)(_Inout_ PVOID, _In_ const PMINIDUMP_CALLBACK_INPUT, _Inout_ PMINIDUMP_CALLBACK_OUTPUT)
Definition: dbghelp.h:728
BOOL WINAPI SymGetLineFromName(_In_ HANDLE, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD, _Out_ PLONG, _Inout_ PIMAGEHLP_LINE)
#define _Out_writes_(size)
Definition: no_sal2.h:367
PCHAR WINAPI SymGetHomeDirectory(_In_ DWORD, _Out_writes_(size) PSTR, _In_ size_t size)
DWORD64 ModBase
Definition: compat.h:1091
DWORD WINAPI SymGetModuleBase(_In_ HANDLE, _In_ DWORD)
struct _SYMBOL_INFOW * PSYMBOL_INFOW
struct _MINIDUMP_DIRECTORY * PMINIDUMP_DIRECTORY
ULONG NameLen
Definition: compat.h:1011
struct _MINIDUMP_THREAD_EX_CALLBACK * PMINIDUMP_THREAD_EX_CALLBACK
UCHAR NumberOfProcessors
Definition: dbghelp.h:859
WCHAR LoadedImageName[256]
Definition: compat.h:727
USHORT Revision
Definition: compat.h:1214
ULONG __unusedAlignment
Definition: dbghelp.h:764
struct _MINIDUMP_EXCEPTION MINIDUMP_EXCEPTION
PVOID WINAPI SymFunctionTableAccess64(_In_ HANDLE, _In_ DWORD64)
struct _MINIDUMP_SYSTEM_INFO::_CPU_INFORMATION::@2705 OtherCpuInfo
BOOL(CALLBACK * PENUMDIRTREE_CALLBACK)(_In_ PCSTR, _In_opt_ PVOID)
Definition: dbghelp.h:2049
struct _MINIDUMP_INCLUDE_MODULE_CALLBACK * PMINIDUMP_INCLUDE_MODULE_CALLBACK
BOOL WINAPI SymEnumSourceLines(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_opt_ DWORD, _In_ DWORD, _In_ PSYM_ENUMLINES_CALLBACK, _In_opt_ PVOID)
struct _STACKFRAME * LPSTACKFRAME
SymTagEnum
Definition: compat.h:1220
struct _IMAGEHLP_MODULEW IMAGEHLP_MODULEW
ADDRESS_MODE
Definition: compat.h:795
unsigned int BOOL
Definition: ntddk_ex.h:94
UCHAR Version
Definition: dbghelp.h:114
DWORD Address
Definition: compat.h:1173
struct _IMAGEHLP_CBA_READ_MEMORY IMAGEHLP_CBA_READ_MEMORY
BOOL WINAPI EnumerateLoadedModules(_In_ HANDLE, _In_ PENUMLOADED_MODULES_CALLBACK, _In_opt_ PVOID)
DWORD ImageSize
Definition: compat.h:845
BOOL(CALLBACK * PFIND_DEBUG_FILE_CALLBACKW)(_In_ HANDLE, _In_ PCWSTR, _In_ PVOID)
Definition: dbghelp.h:1844
struct _tagADDRESS64 * LPADDRESS64
ULONG64 Reserved1
Definition: dbghelp.h:834
BOOL(WINAPI * PSYMBOLSERVERPINGPROCW)(PCWSTR)
Definition: dbghelp.h:2342
USHORT ProcessorArchitecture
Definition: dbghelp.h:851
struct _SRCCODEINFO SRCCODEINFO
ULONG ExceptionFlags
Definition: dbghelp.h:760
struct _KDHELP64 * PKDHELP64
struct _SYMBOL_INFO SYMBOL_INFO
ULONG SizeOfStruct
Definition: compat.h:999
DWORD MaxNameLength
Definition: compat.h:1130
struct _MINIDUMP_CALLBACK_INPUT * PMINIDUMP_CALLBACK_INPUT
DWORD SizeOfStruct
Definition: compat.h:744
BOOL WINAPI SymGetSourceFileToken(_In_ HANDLE, _In_ ULONG64, _In_ PCSTR, _Outptr_ PVOID *, _Out_ DWORD *)
struct _MINIDUMP_INCLUDE_MODULE_CALLBACK MINIDUMP_INCLUDE_MODULE_CALLBACK
BOOL WINAPI SymGetSymPrev(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOL)
MINIDUMP_LOCATION_DESCRIPTOR Location
Definition: dbghelp.h:754
BOOL WINAPI SymEnumSymbolsForAddrW(_In_ HANDLE, _In_ DWORD64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACKW, _In_opt_ PVOID)
VS_FIXEDFILEINFO VersionInfo
Definition: dbghelp.h:830
struct _MINIDUMP_INCLUDE_THREAD_CALLBACK * PMINIDUMP_INCLUDE_THREAD_CALLBACK
ULONG Scope
Definition: compat.h:1009
struct _IMAGE_DEBUG_INFORMATION * PIMAGE_DEBUG_INFORMATION
DWORD64 ModBase
Definition: compat.h:754
PIMAGEHLP_SYMBOL Symbol
Definition: dbghelp.h:517
KDHELP KdHelp
Definition: dbghelp.h:2176
ULONG64 ExceptionAddress
Definition: dbghelp.h:762
BOOL WINAPI SymGetSourceVarFromTokenW(_In_ HANDLE, _In_ PVOID, _In_opt_ PCWSTR, _In_ PCWSTR, _Out_writes_(Size) PWSTR, _In_ DWORD Size)
ULONG64 ModBase
Definition: compat.h:692
ULONG Index
Definition: compat.h:690
unsigned char BOOLEAN
struct _MINIDUMP_CALLBACK_OUTPUT * PMINIDUMP_CALLBACK_OUTPUT
BOOL WINAPI SymDeleteSymbol(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCSTR, _In_ DWORD64, _In_ DWORD)
BOOL WINAPI SearchTreeForFile(_In_ PCSTR, _In_ PCSTR, _Out_writes_(MAX_PATH+1) PSTR)
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE64)(_In_ HANDLE, _In_ DWORD64)
Definition: dbghelp.h:2205
BOOL IMAGEAPI SymSrvIsStoreW(_In_opt_ HANDLE hProcess, _In_ PCWSTR path)
ULONG ProcessKernelTime
Definition: dbghelp.h:820
PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(_In_opt_ HANDLE, _In_ PCSTR, _In_opt_ PCSTR, _In_ ULONG)
BOOL WINAPI SymGetSymFromName(_In_ HANDLE, _In_ PCSTR, _Inout_ PIMAGEHLP_SYMBOL)
PVOID WINAPI ImageDirectoryEntryToData(_In_ PVOID, _In_ BOOLEAN, _In_ USHORT, _Out_ PULONG)
MINIDUMP_EXCEPTION ExceptionRecord
Definition: dbghelp.h:779
BOOL WINAPI SymEnumSymbolsForAddr(_In_ HANDLE, _In_ DWORD64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACK, _In_opt_ PVOID)
DWORD NextCallback
Definition: dbghelp.h:2140
VS_FIXEDFILEINFO VersionInfo
Definition: compat.h:950
#define _Out_writes_bytes_(size)
Definition: no_sal2.h:370
#define _Out_
Definition: no_sal2.h:323
PCHAR FileName
Definition: compat.h:1087
struct _IMAGEHLP_LINEW * PIMAGEHLP_LINEW
LPAPI_VERSION WINAPI ImagehlpApiVersionEx(_In_ LPAPI_VERSION)
BOOL(WINAPI * PSYMBOLSERVERSETOPTIONSPROC)(UINT_PTR, ULONG64)
Definition: dbghelp.h:2337
BOOL WINAPI FindFileInPath(HANDLE, PCSTR, PCSTR, PVOID, DWORD, DWORD, DWORD, PSTR, PFINDFILEINPATHCALLBACK, PVOID)
BOOL WINAPI SymFromAddr(_In_ HANDLE, _In_ DWORD64, _Out_opt_ DWORD64 *, _Inout_ SYMBOL_INFO *)
CHAR ModuleName[32]
Definition: compat.h:850
HANDLE WINAPI FindExecutableImageEx(_In_ PCSTR, _In_ PCSTR, _Out_writes_(MAX_PATH+1) PSTR, _In_opt_ PFIND_EXE_FILE_CALLBACK, _In_opt_ PVOID)
BOOL(WINAPI * PSYMBOLSERVEROPENPROC)(void)
Definition: dbghelp.h:2335
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
Definition: bufpool.h:45
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK64)(_In_ PCSTR, _In_ DWORD64, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:1399
DWORD Address
Definition: compat.h:1164
HANDLE WINAPI FindDebugInfoFile(_In_ PCSTR, _In_ PCSTR, _Out_writes_(MAX_PATH+1) PSTR)
BOOL WINAPI SymGetSymFromAddr(_In_ HANDLE, _In_ DWORD, _Out_opt_ PDWORD, _Inout_ PIMAGEHLP_SYMBOL)
BOOL WINAPI SymMatchFileNameW(_In_ PCWSTR, _In_ PCWSTR, _Outptr_opt_ PWSTR *, _Outptr_opt_ PWSTR *)
void * PVOID
Definition: retypes.h:9
BOOL(WINAPI * PSYMBOLSERVERPINGPROC)(PCSTR)
Definition: dbghelp.h:2340
PWSTR WINAPI SymSetHomeDirectoryW(_In_opt_ HANDLE, _In_opt_ PCWSTR)
DWORD SizeOfStruct
Definition: compat.h:879
Definition: winnt_old.h:3394
BOOL WINAPI SymUnDName(_In_ PIMAGEHLP_SYMBOL, _Out_writes_(UnDecNameLength) PSTR, _In_ DWORD UnDecNameLength)
ULONG ThreadId
Definition: dbghelp.h:898
struct _IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL
BOOL WINAPI SymUnDName64(_In_ PIMAGEHLP_SYMBOL64, _Out_writes_(UnDecNameLength) PSTR, _In_ DWORD UnDecNameLength)
BOOL WINAPI SymGetSourceVarFromToken(_In_ HANDLE, _In_ PVOID, _In_opt_ PCSTR, _In_ PCSTR, _Out_writes_(Size) PSTR, _In_ DWORD Size)
BOOL WINAPI SymFromName(_In_ HANDLE, _In_ PCSTR, _Inout_ PSYMBOL_INFO)
ULONG64 Params[4]
Definition: compat.h:1023
BOOL WINAPI SymMatchStringW(_In_ PCWSTR, _In_ PCWSTR, _In_ BOOL)
BOOL WINAPI SymFromNameW(_In_ HANDLE, _In_ PCWSTR, _Inout_ PSYMBOL_INFOW)
MINIDUMP_INCLUDE_THREAD_CALLBACK IncludeThread
Definition: compat.h:974
BOOL WINAPI SymFromToken(_In_ HANDLE, _In_ DWORD64, _In_ DWORD, _Inout_ PSYMBOL_INFO)
BOOL WINAPI SymGetModuleInfo(_In_ HANDLE, _In_ DWORD, _Out_ PIMAGEHLP_MODULE)
ADDRESS_MODE
Definition: dbghelp.h:123
struct _IMAGEHLP_DEFERRED_SYMBOL_LOADW64 * PIMAGEHLP_DEFERRED_SYMBOL_LOADW64
struct _IMAGEHLP_MODULEW * PIMAGEHLP_MODULEW
struct _IMAGEHLP_LINE * PIMAGEHLP_LINE
DWORD WINAPI UnDecorateSymbolNameW(_In_ PCWSTR, _Out_writes_(maxStringLength) PWSTR, _In_ DWORD maxStringLength, _In_ DWORD)
#define IMAGEAPI
Definition: dbghelp.h:94
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACK)(_In_ PCSTR, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:2435
BOOL GlobalSymbols
Definition: compat.h:898
_MODULE_WRITE_FLAGS
Definition: dbghelp.h:687
struct _MINIDUMP_SYSTEM_INFO MINIDUMP_SYSTEM_INFO
HANDLE WINAPI SymFindDebugInfoFile(_In_ HANDLE, _In_ PCSTR, _Out_writes_(MAX_PATH+1) PSTR, _In_opt_ PFIND_DEBUG_FILE_CALLBACK, _In_opt_ PVOID)
#define _Out_opt_
Definition: no_sal2.h:339
BOOL WINAPI SymGetScope(_In_ HANDLE, _In_ ULONG64, _In_ DWORD, _Inout_ PSYMBOL_INFO)
BOOL WINAPI SymMatchString(_In_ PCSTR, _In_ PCSTR, _In_ BOOL)
MINIDUMP_THREAD Threads[1]
Definition: dbghelp.h:910
BOOL WINAPI SymGetTypeFromName(_In_ HANDLE, _In_ ULONG64, _In_ PCSTR, _Inout_ PSYMBOL_INFO)
struct _IMAGEHLP_MODULE64 * PIMAGEHLP_MODULE64
BOOL WINAPI SymRegisterCallback64(_In_ HANDLE, _In_ PSYMBOL_REGISTERED_CALLBACK64, _In_ ULONG64)
struct _MINIDUMP_MODULE_LIST * PMINIDUMP_MODULE_LIST
MINIDUMP_INCLUDE_MODULE_CALLBACK IncludeModule
Definition: compat.h:975
GLsizeiptr size
Definition: glext.h:5919
DWORD64 WINAPI SymLoadModuleEx(_In_ HANDLE, _In_opt_ HANDLE, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD64, _In_ DWORD, _In_opt_ PMODLOAD_DATA, _In_opt_ DWORD)
PUCHAR MappedAddress
Definition: dbghelp.h:101
struct _IMAGE_DEBUG_INFORMATION IMAGE_DEBUG_INFORMATION
struct _MINIDUMP_LOCATION_DESCRIPTOR MINIDUMP_LOCATION_DESCRIPTOR
ADDRESS AddrBStore
Definition: dbghelp.h:2177
BOOL WINAPI SymGetTypeFromNameW(_In_ HANDLE, _In_ ULONG64, _In_ PCWSTR, _Inout_ PSYMBOL_INFOW)
MINIDUMP_LOCATION_DESCRIPTOR CvRecord
Definition: dbghelp.h:831
BOOL WINAPI SymRegisterFunctionEntryCallback(_In_ HANDLE, _In_ PSYMBOL_FUNCENTRY_CALLBACK, _In_opt_ PVOID)
DWORD SizeOfStruct
Definition: compat.h:1178
__wchar_t WCHAR
Definition: xmlstorage.h:180
BOOLEAN fReadOnly
Definition: dbghelp.h:113
DWORD TimeDateStamp
Definition: dbghelp.h:793
WCHAR LoadedImageName[256]
Definition: compat.h:865
BOOL WINAPI SymFindFileInPath(_In_ HANDLE, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PVOID, _In_ DWORD, _In_ DWORD, _In_ DWORD, _Out_writes_(MAX_PATH+1) PSTR, _In_opt_ PFINDFILEINPATHCALLBACK, _In_opt_ PVOID)
struct _IMAGEHLP_STACK_FRAME * PIMAGEHLP_STACK_FRAME
BOOL(CALLBACK * PSYM_ENUMLINES_CALLBACK)(_In_ PSRCCODEINFO, _In_opt_ PVOID)
Definition: dbghelp.h:1769
DWORD64 BaseOfImage
Definition: compat.h:880
PWSTR FileName
Definition: compat.h:1172
DWORD64 WINAPI SymLoadModule64(_In_ HANDLE, _In_opt_ HANDLE, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD64, _In_ DWORD)
PIMAGE_SECTION_HEADER LastRvaSection
Definition: dbghelp.h:107
BOOL WINAPI StackWalk64(_In_ DWORD, _In_ HANDLE, _In_ HANDLE, _Inout_ LPSTACKFRAME64, _Inout_ PVOID, _In_opt_ PREAD_PROCESS_MEMORY_ROUTINE64, _In_opt_ PFUNCTION_TABLE_ACCESS_ROUTINE64, _In_opt_ PGET_MODULE_BASE_ROUTINE64, _In_opt_ PTRANSLATE_ADDRESS_ROUTINE64)
struct _SYMBOL_INFOW SYMBOL_INFOW
struct _IMAGEHLP_CBA_EVENTW IMAGEHLP_CBA_EVENTW
struct _IMAGEHLP_SYMBOLW64 * PIMAGEHLP_SYMBOLW64
struct _tagADDRESS * LPADDRESS
BOOL WINAPI SymGetSymFromName64(_In_ HANDLE, _In_ PCSTR, _Inout_ PIMAGEHLP_SYMBOL64)
BOOL WINAPI SymInitialize(_In_ HANDLE, _In_opt_ PCSTR, _In_ BOOL)
DWORD SizeOfStruct
Definition: compat.h:1116
DWORD LineNumber
Definition: compat.h:757
struct _MINIDUMP_EXCEPTION_INFORMATION * PMINIDUMP_EXCEPTION_INFORMATION
DWORD64 Offset
Definition: compat.h:815
enum _IMAGEHLP_SYMBOL_TYPE_INFO IMAGEHLP_SYMBOL_TYPE_INFO
BOOL WINAPI SymRegisterFunctionEntryCallback64(_In_ HANDLE, _In_ PSYMBOL_FUNCENTRY_CALLBACK64, _In_ ULONG64)
#define MAX_PATH
Definition: compat.h:26
struct API_VERSION * LPAPI_VERSION
struct _MINIDUMP_MISC_INFO MINIDUMP_MISC_INFO
#define WINAPI
Definition: msvc.h:8
DWORD BaseOfImage
Definition: compat.h:844
DWORD SystemRangeStart
Definition: dbghelp.h:2144
struct _SRCCODEINFOW SRCCODEINFOW
struct _IMAGEHLP_GET_TYPE_INFO_PARAMS * PIMAGEHLP_GET_TYPE_INFO_PARAMS
struct _MINIDUMP_MEMORY_DESCRIPTOR * PMINIDUMP_MEMORY_DESCRIPTOR
DWORD MaxNameLength
Definition: compat.h:1140
ADDRESS64 AddrReturn
Definition: compat.h:1043
#define _Outptr_result_maybenull_
Definition: no_sal2.h:426
unsigned short WORD
Definition: ntddk_ex.h:93
WCHAR ImageName[256]
Definition: compat.h:726
PVOID HANDLE
Definition: typedefs.h:71
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD ThCallbackStack
Definition: dbghelp.h:2139
struct _DBGHELP_MODLOAD_DATA * PMODLOAD_DATA
BOOL WINAPI SymGetLineNextW64(_In_ HANDLE, _Inout_ PIMAGEHLP_LINEW64)
struct _MINIDUMP_MODULE_LIST MINIDUMP_MODULE_LIST
DWORD SizeOfStruct
Definition: compat.h:856
BOOL WINAPI SymGetTypeInfoEx(_In_ HANDLE, _In_ DWORD64, _Inout_ PIMAGEHLP_GET_TYPE_INFO_PARAMS)
struct _MINIDUMP_USER_STREAM * PMINIDUMP_USER_STREAM
BOOL WINAPI MiniDumpReadDumpStream(_In_ PVOID, _In_ ULONG, _Outptr_result_maybenull_ PMINIDUMP_DIRECTORY *, _Outptr_result_maybenull_ PVOID *, _Out_opt_ ULONG *)
DWORD64 Thread
Definition: compat.h:1030
#define _Inout_
Definition: no_sal2.h:244
struct _MINIDUMP_HEADER MINIDUMP_HEADER
union _MINIDUMP_CALLBACK_INPUT::@345 DUMMYUNIONNAME
struct API_VERSION API_VERSION
struct _MINIDUMP_THREAD * PMINIDUMP_THREAD
PIMAGE_SECTION_HEADER WINAPI ImageRvaToSection(_In_ PIMAGE_NT_HEADERS, _In_ PVOID, _In_ ULONG)
DWORD Offset
Definition: compat.h:836
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 IMAGEHLP_DEFERRED_SYMBOL_LOAD64
_MINIDUMP_TYPE
Definition: compat.h:905
PVOID FuncTableEntry
Definition: compat.h:1047
struct _IMAGEHLP_LINE IMAGEHLP_LINE
ULONG64 Value
Definition: compat.h:1006
SYM_TYPE SymType
Definition: compat.h:862
DWORD SizeOfStruct
Definition: compat.h:752
Definition: dbghelp.h:170
struct _tagADDRESS64 ADDRESS64
DWORD ReservedNumberOfFunctionTableEntries
Definition: dbghelp.h:2279
DWORD ImageSize
Definition: compat.h:858
struct _IMAGEHLP_DUPLICATE_SYMBOL64 * PIMAGEHLP_DUPLICATE_SYMBOL64
HANDLE WINAPI SymFindDebugInfoFileW(_In_ HANDLE, _In_ PCWSTR, _Out_writes_(MAX_PATH+1) PWSTR, _In_opt_ PFIND_DEBUG_FILE_CALLBACKW, _In_opt_ PVOID)
unsigned __int64 ULONG64
Definition: imports.h:198
MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[1]
Definition: dbghelp.h:807
ULONG Index
Definition: compat.h:1002
unsigned char UCHAR
Definition: xmlstorage.h:181
WCHAR ModuleName[32]
Definition: compat.h:863
ULONG64 InstructionOffset
Definition: compat.h:1017
BOOL IMAGEAPI SymSrvIsStore(_In_opt_ HANDLE hProcess, _In_ PCSTR path)
ADDRESS64 AddrStack
Definition: compat.h:1045
DWORD SizeOfStruct
Definition: compat.h:718
SYM_TYPE SymType
Definition: compat.h:724
HANDLE WINAPI SymFindExecutableImage(_In_ HANDLE, _In_ PCSTR, _Out_writes_(MAX_PATH+1) PSTR, _In_ PFIND_EXE_FILE_CALLBACK, _In_ PVOID)
enum _THREAD_WRITE_FLAGS THREAD_WRITE_FLAGS
struct _IMAGEHLP_LINEW64 IMAGEHLP_LINEW64
DWORD64 Address
Definition: compat.h:758
struct _SRCCODEINFO * PSRCCODEINFO
ADDRESS AddrReturn
Definition: dbghelp.h:2168
BOOL WINAPI SymGetSourceFileW(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCWSTR, _In_ PCWSTR, _Out_writes_(Size) PWSTR, _In_ DWORD Size)
ULONG Flags
Definition: compat.h:1005
BOOL(CALLBACK * PFIND_DEBUG_FILE_CALLBACK)(_In_ HANDLE, _In_ PCSTR, _In_ PVOID)
Definition: dbghelp.h:1838
struct _IMAGEHLP_CBA_READ_MEMORY * PIMAGEHLP_CBA_READ_MEMORY
DWORD Signature
Definition: dbghelp.h:785
ULONG SizeOfStruct
Definition: compat.h:687
BOOL WINAPI SymEnumerateModules(_In_ HANDLE, _In_ PSYM_ENUMMODULES_CALLBACK, _In_opt_ PVOID)
struct _MINIDUMP_INCLUDE_THREAD_CALLBACK MINIDUMP_INCLUDE_THREAD_CALLBACK
struct _IMAGEHLP_SYMBOL * PIMAGEHLP_SYMBOL
#define _Outptr_opt_
Definition: no_sal2.h:397
HANDLE WINAPI FindDebugInfoFileExW(_In_ PCWSTR, _In_ PCWSTR, _Out_writes_(MAX_PATH+1) PWSTR, _In_opt_ PFIND_DEBUG_FILE_CALLBACKW, _In_opt_ PVOID)
BOOL(WINAPI * PSYMBOLSERVERPROC)(PCSTR, PCSTR, PVOID, DWORD, DWORD, PSTR)
Definition: dbghelp.h:2332
Definition: typedefs.h:117
struct _MINIDUMP_USER_STREAM_INFORMATION MINIDUMP_USER_STREAM_INFORMATION
union _MINIDUMP_CALLBACK_OUTPUT::@346 DUMMYUNIONNAME
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359
DWORD64 SystemRangeStart
Definition: compat.h:1037
BOOL WINAPI EnumDirTreeW(_In_opt_ HANDLE, _In_ PCWSTR, _In_ PCWSTR, _Out_writes_opt_(MAX_PATH+1) PWSTR, _In_opt_ PENUMDIRTREE_CALLBACKW, _In_opt_ PVOID)
ULONG SuspendCount
Definition: dbghelp.h:899
ULONG SizeOfImage
Definition: dbghelp.h:826
ULONG Characteristics
Definition: dbghelp.h:110
struct _STACKFRAME64 * LPSTACKFRAME64
struct _IMAGEHLP_MODULE64 IMAGEHLP_MODULE64
BOOL WINAPI SymGetLineFromName64(_In_ HANDLE, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD, _Out_ PLONG, _Inout_ PIMAGEHLP_LINE64)
BOOL WINAPI SymGetSourceFileTokenW(_In_ HANDLE, _In_ ULONG64, _In_ PCWSTR, _Outptr_ PVOID *, _Out_ DWORD *)
DWORD CheckSum
Definition: compat.h:847
struct _MINIDUMP_MODULE_CALLBACK * PMINIDUMP_MODULE_CALLBACK
ULONG CheckSum
Definition: dbghelp.h:827
ULONG Register
Definition: compat.h:696
BOOL SourceIndexed
Definition: compat.h:900
BOOL WINAPI StackWalk(_In_ DWORD, _In_ HANDLE, _In_ HANDLE, _Inout_ LPSTACKFRAME, _Inout_ PVOID, _In_opt_ PREAD_PROCESS_MEMORY_ROUTINE, _In_opt_ PFUNCTION_TABLE_ACCESS_ROUTINE, _In_opt_ PGET_MODULE_BASE_ROUTINE, _In_opt_ PTRANSLATE_ADDRESS_ROUTINE)
PIMAGE_DEBUG_DIRECTORY ReservedDebugDirectory
Definition: dbghelp.h:2294
struct _MINIDUMP_MEMORY_LIST * PMINIDUMP_MEMORY_LIST
ULONG ProcessCreateTime
Definition: dbghelp.h:818
BOOL WINAPI EnumerateLoadedModulesW64(_In_ HANDLE, _In_ PENUMLOADED_MODULES_CALLBACKW64, _In_opt_ PVOID)
struct _IMAGEHLP_CBA_EVENT * PIMAGEHLP_CBA_EVENT
#define _In_
Definition: no_sal2.h:204
MINIDUMP_LOCATION_DESCRIPTOR ThreadContext
Definition: dbghelp.h:780
ULONG Priority
Definition: dbghelp.h:901
BOOL WINAPI SymEnumerateSymbolsW64(_In_ HANDLE, _In_ ULONG64, _In_ PSYM_ENUMSYMBOLS_CALLBACK64W, _In_opt_ PVOID)
MINIDUMP_MEMORY_DESCRIPTOR Stack
Definition: dbghelp.h:903
BOOL WINAPI SymFromTokenW(_In_ HANDLE, _In_ DWORD64, _In_ DWORD, _Inout_ PSYMBOL_INFOW)
WORD Segment
Definition: compat.h:837
DWORD LineNumber
Definition: compat.h:1171
USHORT Reserved
Definition: compat.h:1215
BOOL(CALLBACK * PSYM_ENUMSOURCEFILES_CALLBACK)(_In_ PSOURCEFILE, _In_opt_ PVOID)
Definition: dbghelp.h:1593
BOOL(CALLBACK * PSYMBOL_REGISTERED_CALLBACK64)(_In_ HANDLE, _In_ ULONG, _In_opt_ ULONG64, _In_opt_ ULONG64)
Definition: dbghelp.h:1445
struct _MINIDUMP_MODULE * PMINIDUMP_MODULE
USHORT ProcessorRevision
Definition: dbghelp.h:853
struct _IMAGEHLP_DUPLICATE_SYMBOL * PIMAGEHLP_DUPLICATE_SYMBOL
BOOL WINAPI SymEnumerateModules64(_In_ HANDLE, _In_ PSYM_ENUMMODULES_CALLBACK64, _In_opt_ PVOID)
uint64_t DWORD64
Definition: typedefs.h:65
DWORD NextCallback
Definition: compat.h:1033
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 * PIMAGEHLP_DEFERRED_SYMBOL_LOAD64
struct _IMAGEHLP_LINE64 * PIMAGEHLP_LINE64
struct _MINIDUMP_THREAD_CALLBACK MINIDUMP_THREAD_CALLBACK
BOOL WINAPI SymEnumerateSymbolsW(_In_ HANDLE, _In_ ULONG, _In_ PSYM_ENUMSYMBOLS_CALLBACKW, _In_opt_ PVOID)
BOOL WINAPI SymSearchW(_In_ HANDLE, _In_ ULONG64, _In_opt_ DWORD, _In_opt_ DWORD, _In_opt_ PCWSTR, _In_opt_ DWORD64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACKW, _In_opt_ PVOID, _In_ DWORD)
ULONG TypeIndex
Definition: compat.h:1000
struct _STACKFRAME STACKFRAME
struct _MINIDUMP_STRING MINIDUMP_STRING
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE)(_In_ HANDLE, _In_ DWORD)
Definition: dbghelp.h:2417
unsigned short USHORT
Definition: pedump.c:61
BOOL WINAPI SymGetLineFromAddrW(_In_ HANDLE, _In_ DWORD, _Out_ PDWORD, _Out_ PIMAGEHLP_LINEW)
DWORD LineNumber
Definition: compat.h:746
RVA StreamDirectoryRva
Definition: dbghelp.h:788
union _MINIDUMP_HEADER::@2699 DUMMYUNIONNAME
_In_ UINT _Out_writes_opt_(cch) LPSTR lpszFile
enum _MINIDUMP_TYPE MINIDUMP_TYPE
enum _MINIDUMP_STREAM_TYPE MINIDUMP_STREAM_TYPE
BOOL WINAPI SymSetSearchPath(_In_ HANDLE, _In_opt_ PCSTR)
DWORD64 WINAPI SymLoadModuleExW(_In_ HANDLE, _In_opt_ HANDLE, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD64, _In_ DWORD, _In_opt_ PMODLOAD_DATA, _In_opt_ DWORD)
BOOL WINAPI SymAddSymbol(_In_ HANDLE, _In_ ULONG64, _In_ PCSTR, _In_ DWORD64, _In_ DWORD, _In_ DWORD)
PVOID WINAPI ImageDirectoryEntryToDataEx(_In_ PVOID, _In_ BOOLEAN, _In_ USHORT, _Out_ PULONG, _Out_opt_ PIMAGE_SECTION_HEADER *)
Definition: services.c:325
signed char * PSTR
Definition: retypes.h:7
CHAR CVData[MAX_PATH *3]
Definition: compat.h:891
struct _SYMBOL_INFO * PSYMBOL_INFO
struct _MINIDUMP_EXCEPTION_INFORMATION MINIDUMP_EXCEPTION_INFORMATION
BOOL WINAPI SymEnumSourceLinesW(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ DWORD, _In_ DWORD, _In_ PSYM_ENUMLINES_CALLBACKW, _In_opt_ PVOID)
DWORD TimeDateStamp
Definition: compat.h:721
struct MINIDUMP_EXCEPTION_STREAM MINIDUMP_EXCEPTION_STREAM
BOOL(CALLBACK * PSYMBOL_REGISTERED_CALLBACK)(_In_ HANDLE, _In_ ULONG, _In_opt_ PVOID, _In_opt_ PVOID)
Definition: dbghelp.h:2455
PSTR ModuleName
Definition: dbghelp.h:99
DWORD NumSyms
Definition: compat.h:848
struct _MINIDUMP_SYSTEM_INFO::_CPU_INFORMATION::@2704 X86CpuInfo
UINT_PTR(WINAPI * PSYMBOLSERVERGETOPTIONSPROC)(void)
Definition: dbghelp.h:2339
WCHAR CVData[MAX_PATH *3]
Definition: compat.h:730
unsigned int * PULONG
Definition: retypes.h:1
struct _IMAGEHLP_SYMBOLW * PIMAGEHLP_SYMBOLW
PVOID WINAPI ImageRvaToVa(_In_ PIMAGE_NT_HEADERS, _In_ PVOID, _In_ ULONG, _In_opt_ PIMAGE_SECTION_HEADER *)
struct _MINIDUMP_HEADER * PMINIDUMP_HEADER
struct _IMAGEHLP_SYMBOL64 * PIMAGEHLP_SYMBOL64
DWORD TimeDateStamp
Definition: compat.h:859
ADDRESS64 AddrPC
Definition: compat.h:1042
USHORT ReservedCharacteristics
Definition: dbghelp.h:2271
BOOL WINAPI SymGetSymPrevW(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOLW)
struct _IMAGEHLP_CBA_EVENT IMAGEHLP_CBA_EVENT
VOID * PIMAGEHLP_CONTEXT
Definition: dbghelp.h:576
BOOL WINAPI SymFromAddrW(_In_ HANDLE, _In_ DWORD64, _Out_opt_ DWORD64 *, _Inout_ SYMBOL_INFOW *)
struct _MINIDUMP_CALLBACK_INFORMATION MINIDUMP_CALLBACK_INFORMATION
WCHAR LoadedPdbName[256]
Definition: compat.h:728
DWORD * PDWORD
Definition: pedump.c:68
ULONG64 RVA64
Definition: dbghelp.h:599
ULONG64 ExceptionRecord
Definition: dbghelp.h:761
DWORD ReservedOriginalFunctionTableBaseAddress
Definition: dbghelp.h:2296
ADDRESS AddrFrame
Definition: dbghelp.h:2169
PIMAGE_NT_HEADERS32 FileHeader
Definition: dbghelp.h:105
struct _STACKFRAME64 STACKFRAME64
BOOL WINAPI SymEnumSourceFilesW(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCWSTR, _In_ PSYM_ENUMSOURCEFILES_CALLBACKW, _In_opt_ PVOID)
BOOL WINAPI SymFromIndex(_In_ HANDLE, _In_ ULONG64, _In_ DWORD, _Inout_ PSYMBOL_INFO)
BOOL WINAPI SymUnloadModule(_In_ HANDLE, _In_ DWORD)
BOOL WINAPI MakeSureDirectoryPathExists(_In_ PCSTR)
BOOL WINAPI SymGetLinePrevW(_In_ HANDLE, _Inout_ PIMAGEHLP_LINEW)
ULONG Register
Definition: compat.h:1008
CHAR ImageName[256]
Definition: compat.h:887
struct _SYMBOL_INFO_PACKAGE SYMBOL_INFO_PACKAGE
ULONG64 Value
Definition: compat.h:694
BOOL WINAPI SymGetSourceFileFromTokenW(_In_ HANDLE, _In_ PVOID, _In_opt_ PCWSTR, _Out_writes_(Size) PWSTR, _In_ DWORD Size)
BOOL WINAPI SymGetLineNextW(_In_ HANDLE, _Inout_ PIMAGEHLP_LINEW)
BOOL WINAPI SymDeleteSymbolW(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCWSTR, _In_ DWORD64, _In_ DWORD)
Definition: name.c:36
union _MINIDUMP_SYSTEM_INFO::@2700 DUMMYUNIONNAME
BOOL WINAPI SymGetSymPrev64(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOL64)
struct _MINIDUMP_STRING * PMINIDUMP_STRING
DWORD RVA
Definition: compat.h:903
ULONG TimeDateStamp
Definition: dbghelp.h:828
BOOL WINAPI SymGetSymNextW(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOLW)
BOOL WINAPI SymCleanup(_In_ HANDLE)
PWSTR FileName
Definition: compat.h:1092
struct _MINIDUMP_SYSTEM_INFO * PMINIDUMP_SYSTEM_INFO
BOOL(CALLBACK * PENUMDIRTREE_CALLBACKW)(_In_ PCWSTR, _In_opt_ PVOID)
Definition: dbghelp.h:2054
BOOL WINAPI SymGetSearchPath(_In_ HANDLE, _Out_writes_(SearchPathLength) PSTR, _In_ DWORD SearchPathLength)
BOOL WINAPI SymGetModuleInfoW64(_In_ HANDLE, _In_ DWORD64, _Out_ PIMAGEHLP_MODULEW64)
BOOL Virtual
Definition: dbghelp.h:2174
BOOL WINAPI SymMatchStringA(_In_ PCSTR, _In_ PCSTR, _In_ BOOL)
struct _IMAGEHLP_SYMBOL64 IMAGEHLP_SYMBOL64
unsigned int ULONG
Definition: retypes.h:1
MINIDUMP_CALLBACK_ROUTINE CallbackRoutine
Definition: compat.h:994
uint64_t * PDWORD64
Definition: typedefs.h:65
BOOL WINAPI SymEnumSymbols(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCSTR, _In_ PSYM_ENUMERATESYMBOLS_CALLBACK, _In_opt_ PVOID)
BOOL(WINAPI * PSYMBOLSERVERPROCW)(PCWSTR, PCWSTR, PVOID, DWORD, DWORD, PWSTR)
Definition: dbghelp.h:2334
uint32_t * PULONG_PTR
Definition: typedefs.h:63
PIMAGE_NT_HEADERS WINAPI ImageNtHeader(_In_ PVOID)
enum _IMAGEHLP_SYMBOL_TYPE_INFO IMAGEHLP_SYMBOL_TYPE_INFO
BOOL WINAPI SymRegisterCallbackW64(_In_ HANDLE, _In_ PSYMBOL_REGISTERED_CALLBACK64, _In_ ULONG64)
HANDLE WINAPI FindExecutableImageExW(_In_ PCWSTR, _In_ PCWSTR, _Out_writes_(MAX_PATH+1) PWSTR, _In_opt_ PFIND_EXE_FILE_CALLBACKW, _In_opt_ PVOID)
unsigned __int64 * PULONG64
Definition: imports.h:198
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK64)(_In_ PCSTR, _In_ DWORD64, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:981
DWORD64(CALLBACK * PTRANSLATE_ADDRESS_ROUTINE64)(_In_ HANDLE, _In_ HANDLE, _In_ LPADDRESS64)
Definition: dbghelp.h:2215
DWORD ReservedLowestFunctionStartingAddress
Definition: dbghelp.h:2281
BOOL(WINAPI * PSYMBOLSERVERPROCA)(PCSTR, PCSTR, PVOID, DWORD, DWORD, PSTR)
Definition: dbghelp.h:2333
BOOL(CALLBACK * PSYM_ENUMERATESYMBOLS_CALLBACK)(_In_ PSYMBOL_INFO, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:1274
#define MAX_SYM_NAME
Definition: dbghelp.h:1121
DWORD Thread
Definition: dbghelp.h:2138
DWORD ReservedHighestFunctionEndingAddress
Definition: dbghelp.h:2282
BOOL WINAPI SymGetSearchPathW(_In_ HANDLE, _Out_writes_(SearchPathLength) PWSTR, _In_ DWORD SearchPathLength)
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD IMAGEHLP_DEFERRED_SYMBOL_LOAD
struct _IMAGEHLP_DUPLICATE_SYMBOL IMAGEHLP_DUPLICATE_SYMBOL
const char * PCSTR
Definition: typedefs.h:51