ReactOS  0.4.15-dev-1377-ga59cecd
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_DISABLE_FAST_SYMBOLS 0x10000000
561 #define SYMOPT_DISABLE_SYMSRV_TIMEOUT 0x20000000
562 #define SYMOPT_DISABLE_SRVSTAR_ON_STARTUP 0x40000000
563 #define SYMOPT_DEBUG 0x80000000
564 
565 typedef struct _IMAGEHLP_STACK_FRAME
566 {
573  ULONG64 Params[4];
574  ULONG64 Reserved[5];
575  BOOL Virtual;
578 
580 
581 #define DBHHEADER_DEBUGDIRS 0x1
582 typedef struct _DBGHELP_MODLOAD_DATA
583 {
584  DWORD ssize;
585  DWORD ssig;
586  PVOID data;
587  DWORD size;
588  DWORD flags;
590 
591 /*************************
592  * MiniDUMP *
593  *************************/
594 
595 #include <pshpack4.h>
596 /* DebugHelp */
597 
598 #define MINIDUMP_SIGNATURE 0x504D444D /* 'MDMP' */
599 #define MINIDUMP_VERSION (42899)
600 
601 typedef DWORD RVA;
602 typedef ULONG64 RVA64;
603 
604 typedef enum _MINIDUMP_TYPE
605 {
606  MiniDumpNormal = 0x0000,
621 } MINIDUMP_TYPE;
622 
624 {
632 
633 typedef struct _MINIDUMP_THREAD_CALLBACK
634 {
635  ULONG ThreadId;
642 
643 typedef struct _MINIDUMP_THREAD_EX_CALLBACK
644 {
645  ULONG ThreadId;
654 
656 {
657  ULONG ThreadId;
659 
661 {
670 
671 typedef struct _MINIDUMP_MODULE_CALLBACK
672 {
676  ULONG CheckSum;
679  PVOID CvRecord;
684 
686 {
689 
691 {
700 
701 typedef struct _MINIDUMP_CALLBACK_INPUT
702 {
706  union
707  {
713  } DUMMYUNIONNAME;
715 
716 typedef struct _MINIDUMP_CALLBACK_OUTPUT
717 {
718  union
719  {
722  struct
723  {
726  } DUMMYSTRUCTNAME;
727  } DUMMYUNIONNAME;
729 
730 typedef BOOL
732  _Inout_ PVOID,
735 
736 typedef struct _MINIDUMP_CALLBACK_INFORMATION
737 {
739  void* CallbackParam;
741 
743 {
747 
749 {
753 
754 typedef struct _MINIDUMP_DIRECTORY
755 {
759 
760 typedef struct _MINIDUMP_EXCEPTION
761 {
770 
772 {
777 
779 {
785 
786 typedef struct _MINIDUMP_HEADER
787 {
793  union
794  {
797  } DUMMYUNIONNAME;
800 
802 {
806 
807 typedef struct _MINIDUMP_MEMORY_LIST
808 {
810  MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[1]; /* FIXME: 0-sized array not supported */
812 
814 {
818 
820 {
823  MINIDUMP_MEMORY_DESCRIPTOR64 MemoryRanges[1]; /* FIXME: 0-sized array not supported */
825 
826 #define MINIDUMP_MISC1_PROCESS_ID 0x00000001
827 #define MINIDUMP_MISC1_PROCESS_TIMES 0x00000002
828 
829 typedef struct _MINIDUMP_MISC_INFO
830 {
838 
839 typedef struct _MINIDUMP_MODULE
840 {
852 
853 typedef struct _MINIDUMP_MODULE_LIST
854 {
856  MINIDUMP_MODULE Modules[1]; /* FIXME: 0-sized array not supported */
858 
859 typedef struct _MINIDUMP_STRING
860 {
862  WCHAR Buffer[1]; /* FIXME: O-sized array not supported */
864 
865 typedef struct _MINIDUMP_SYSTEM_INFO
866 {
870  union
871  {
873  struct
874  {
877  } DUMMYSTRUCTNAME;
878  } DUMMYUNIONNAME;
879 
884 
886  union
887  {
889  struct
890  {
893  } DUMMYSTRUCTNAME;
894  } DUMMYUNIONNAME1;
896  {
897  struct
898  {
903  } X86CpuInfo;
904  struct
905  {
907  } OtherCpuInfo;
908  } Cpu;
909 
911 
912 typedef struct _MINIDUMP_THREAD
913 {
922 
923 typedef struct _MINIDUMP_THREAD_LIST
924 {
926  MINIDUMP_THREAD Threads[1]; /* FIXME: no support of 0 sized array */
928 
929 typedef struct _MINIDUMP_USER_STREAM
930 {
933  void* Buffer;
935 
937 {
941 
943 {
962 
965 
966 BOOL
967 WINAPI
969  _In_ HANDLE,
970  _In_ DWORD,
971  _In_ HANDLE,
976 
977 BOOL
978 WINAPI
980  _In_ PVOID,
981  _In_ ULONG,
984  _Out_opt_ ULONG*);
985 
986 #include <poppack.h>
987 
988 /*************************
989  * MODULE handling *
990  *************************/
991 
992 /* flags for SymLoadModuleEx */
993 #define SLMFLAG_VIRTUAL 0x1
994 #define SLMFLAG_NO_SYMBOLS 0x4
995 
996 typedef BOOL
998  _In_ PCSTR,
999  _In_ DWORD64,
1000  _In_ ULONG,
1001  _In_opt_ PVOID);
1002 
1003 BOOL
1004 WINAPI
1006  _In_ HANDLE,
1008  _In_opt_ PVOID);
1009 
1010 typedef BOOL
1012  _In_ PCWSTR,
1013  _In_ DWORD64,
1014  _In_ ULONG,
1015  _In_opt_ PVOID);
1016 
1017 BOOL
1018 WINAPI
1020  _In_ HANDLE,
1022  _In_opt_ PVOID);
1023 
1024 typedef BOOL
1026  _In_ PCSTR,
1027  _In_ DWORD64,
1028  _In_opt_ PVOID);
1029 
1030 BOOL
1031 WINAPI
1033  _In_ HANDLE,
1035  _In_opt_ PVOID);
1036 
1037 typedef BOOL
1039  _In_ PCWSTR,
1040  _In_ DWORD64,
1041  _In_opt_ PVOID);
1042 
1043 BOOL
1044 WINAPI
1046  _In_ HANDLE,
1048  _In_opt_ PVOID);
1049 
1050 BOOL
1051 WINAPI
1053  _In_ HANDLE,
1054  _In_ DWORD64,
1056 
1057 BOOL
1058 WINAPI
1060  _In_ HANDLE,
1061  _In_ DWORD64,
1063 
1065 
1066 DWORD64
1067 WINAPI
1069  _In_ HANDLE,
1070  _In_opt_ HANDLE,
1071  _In_opt_ PCSTR,
1072  _In_opt_ PCSTR,
1073  _In_ DWORD64,
1074  _In_ DWORD);
1075 
1076 DWORD64
1077 WINAPI
1079  _In_ HANDLE,
1080  _In_opt_ HANDLE,
1081  _In_opt_ PCSTR,
1082  _In_opt_ PCSTR,
1083  _In_ DWORD64,
1084  _In_ DWORD,
1086  _In_opt_ DWORD);
1087 
1088 DWORD64
1089 WINAPI
1091  _In_ HANDLE,
1092  _In_opt_ HANDLE,
1093  _In_opt_ PCWSTR,
1094  _In_opt_ PCWSTR,
1095  _In_ DWORD64,
1096  _In_ DWORD,
1098  _In_opt_ DWORD);
1099 
1101 
1102 /*************************
1103  * Symbol Handling *
1104  *************************/
1105 
1106 #define IMAGEHLP_SYMBOL_INFO_VALUEPRESENT 1
1107 #define IMAGEHLP_SYMBOL_INFO_REGISTER SYMF_REGISTER /* 0x08 */
1108 #define IMAGEHLP_SYMBOL_INFO_REGRELATIVE SYMF_REGREL /* 0x10 */
1109 #define IMAGEHLP_SYMBOL_INFO_FRAMERELATIVE SYMF_FRAMEREL /* 0x20 */
1110 #define IMAGEHLP_SYMBOL_INFO_PARAMETER SYMF_PARAMETER /* 0x40 */
1111 #define IMAGEHLP_SYMBOL_INFO_LOCAL SYMF_LOCAL /* 0x80 */
1112 #define IMAGEHLP_SYMBOL_INFO_CONSTANT SYMF_CONSTANT /* 0x100 */
1113 #define IMAGEHLP_SYMBOL_FUNCTION SYMF_FUNCTION /* 0x800 */
1114 
1115 #define SYMFLAG_VALUEPRESENT 0x00000001
1116 #define SYMFLAG_REGISTER 0x00000008
1117 #define SYMFLAG_REGREL 0x00000010
1118 #define SYMFLAG_FRAMEREL 0x00000020
1119 #define SYMFLAG_PARAMETER 0x00000040
1120 #define SYMFLAG_LOCAL 0x00000080
1121 #define SYMFLAG_CONSTANT 0x00000100
1122 #define SYMFLAG_EXPORT 0x00000200
1123 #define SYMFLAG_FORWARDER 0x00000400
1124 #define SYMFLAG_FUNCTION 0x00000800
1125 #define SYMFLAG_VIRTUAL 0x00001000
1126 #define SYMFLAG_THUNK 0x00002000
1127 #define SYMFLAG_TLSREL 0x00004000
1128 #define SYMFLAG_SLOT 0x00008000
1129 #define SYMFLAG_ILREL 0x00010000
1130 #define SYMFLAG_METADATA 0x00020000
1131 #define SYMFLAG_CLR_TOKEN 0x00040000
1132 #define SYMFLAG_NULL 0x00080000
1133 #define SYMFLAG_FUNC_NO_RETURN 0x00100000
1134 #define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000
1135 #define SYMFLAG_PUBLIC_CODE 0x00400000
1136 
1137 #define MAX_SYM_NAME 2000
1138 
1139 typedef struct _SYMBOL_INFO
1140 {
1142  ULONG TypeIndex;
1143  ULONG64 Reserved[2];
1144  ULONG Index;
1145  ULONG Size;
1146  ULONG64 ModBase;
1147  ULONG Flags;
1148  ULONG64 Value;
1149  ULONG64 Address;
1150  ULONG Register;
1151  ULONG Scope;
1152  ULONG Tag;
1153  ULONG NameLen;
1154  ULONG MaxNameLen;
1155  CHAR Name[1];
1157 
1158 typedef struct _SYMBOL_INFOW
1159 {
1161  ULONG TypeIndex;
1162  ULONG64 Reserved[2];
1163  ULONG Index;
1164  ULONG Size;
1165  ULONG64 ModBase;
1166  ULONG Flags;
1167  ULONG64 Value;
1168  ULONG64 Address;
1169  ULONG Register;
1170  ULONG Scope;
1171  ULONG Tag;
1172  ULONG NameLen;
1173  ULONG MaxNameLen;
1174  WCHAR Name[1];
1176 
1177 typedef struct _SYMBOL_INFO_PACKAGE
1178 {
1182 
1184 {
1188 
1190 {
1219 
1220 #define IMAGEHLP_GET_TYPE_INFO_UNCACHED 0x00000001
1221 #define IMAGEHLP_GET_TYPE_INFO_CHILDREN 0x00000002
1223 {
1243 
1244 typedef struct _TI_FINDCHILDREN_PARAMS
1245 {
1246  ULONG Count;
1247  ULONG Start;
1248  ULONG ChildId[1];
1250 
1251 #define UNDNAME_COMPLETE (0x0000)
1252 #define UNDNAME_NO_LEADING_UNDERSCORES (0x0001)
1253 #define UNDNAME_NO_MS_KEYWORDS (0x0002)
1254 #define UNDNAME_NO_FUNCTION_RETURNS (0x0004)
1255 #define UNDNAME_NO_ALLOCATION_MODEL (0x0008)
1256 #define UNDNAME_NO_ALLOCATION_LANGUAGE (0x0010)
1257 #define UNDNAME_NO_MS_THISTYPE (0x0020)
1258 #define UNDNAME_NO_CV_THISTYPE (0x0040)
1259 #define UNDNAME_NO_THISTYPE (0x0060)
1260 #define UNDNAME_NO_ACCESS_SPECIFIERS (0x0080)
1261 #define UNDNAME_NO_THROW_SIGNATURES (0x0100)
1262 #define UNDNAME_NO_MEMBER_TYPE (0x0200)
1263 #define UNDNAME_NO_RETURN_UDT_MODEL (0x0400)
1264 #define UNDNAME_32_BIT_DECODE (0x0800)
1265 #define UNDNAME_NAME_ONLY (0x1000)
1266 #define UNDNAME_NO_ARGUMENTS (0x2000)
1267 #define UNDNAME_NO_SPECIAL_SYMS (0x4000)
1268 
1269 #define SYMSEARCH_MASKOBJS 0x01
1270 #define SYMSEARCH_RECURSE 0x02
1271 #define SYMSEARCH_GLOBALSONLY 0x04
1272 
1273 BOOL
1274 WINAPI
1276  _In_ HANDLE,
1277  _In_ DWORD64,
1278  _In_ ULONG,
1280  _Out_ PVOID);
1281 
1282 BOOL
1283 WINAPI
1285  _In_ HANDLE,
1286  _In_ DWORD64,
1288 
1289 typedef BOOL
1292  _In_ ULONG,
1293  _In_opt_ PVOID);
1294 
1295 typedef BOOL
1298  _In_ ULONG,
1299  _In_opt_ PVOID);
1300 
1301 BOOL
1302 WINAPI
1303 SymEnumTypes(
1304  _In_ HANDLE,
1305  _In_ ULONG64,
1307  _In_opt_ PVOID);
1308 
1309 BOOL
1310 WINAPI
1312  _In_ HANDLE,
1313  _In_ ULONG64,
1315  _In_opt_ PVOID);
1316 
1317 BOOL
1318 WINAPI
1319 SymFromAddr(
1320  _In_ HANDLE,
1321  _In_ DWORD64,
1322  _Out_opt_ DWORD64*,
1323  _Inout_ SYMBOL_INFO*);
1324 
1325 BOOL
1326 WINAPI
1327 SymFromAddrW(
1328  _In_ HANDLE,
1329  _In_ DWORD64,
1330  _Out_opt_ DWORD64*,
1332 
1333 BOOL
1334 WINAPI
1335 SymFromToken(
1336  _In_ HANDLE,
1337  _In_ DWORD64,
1338  _In_ DWORD,
1340 
1341 BOOL
1342 WINAPI
1344  _In_ HANDLE,
1345  _In_ DWORD64,
1346  _In_ DWORD,
1348 
1351 
1352 BOOL
1353 WINAPI
1355  _In_ HANDLE,
1356  _In_ DWORD64,
1359 
1360 BOOL
1361 WINAPI
1363  _In_ HANDLE,
1364  _In_ PCSTR,
1366 
1367 BOOL
1368 WINAPI
1370  _In_ HANDLE,
1371  _In_ ULONG64,
1372  _In_ PCSTR,
1374 
1375 BOOL
1376 WINAPI
1378  _In_ HANDLE,
1379  _In_ ULONG64,
1380  _In_ PCWSTR,
1382 
1387 
1388 BOOL
1389 WINAPI
1390 SymEnumSym(
1391  _In_ HANDLE,
1392  _In_ ULONG64,
1394  _In_opt_ PVOID);
1395 
1396 BOOL
1397 WINAPI
1399  _In_ HANDLE,
1400  _In_ ULONG64,
1401  _In_opt_ PCSTR,
1403  _In_opt_ PVOID);
1404 
1405 BOOL
1406 WINAPI
1408  _In_ HANDLE,
1409  _In_ ULONG64,
1410  _In_opt_ PCWSTR,
1412  _In_opt_ PVOID);
1413 
1414 typedef BOOL
1416  _In_ PCSTR,
1417  _In_ DWORD64,
1418  _In_ ULONG,
1419  _In_opt_ PVOID);
1420 
1421 typedef BOOL
1423  _In_ PCWSTR,
1424  _In_ DWORD64,
1425  _In_ ULONG,
1426  _In_opt_ PVOID);
1427 
1428 BOOL
1429 WINAPI
1431  _In_ HANDLE,
1432  _In_ ULONG64,
1434  _In_opt_ PVOID);
1435 
1436 BOOL
1437 WINAPI
1439  _In_ HANDLE,
1440  _In_ ULONG64,
1442  _In_opt_ PVOID);
1443 
1444 BOOL
1445 WINAPI
1447  _In_ HANDLE,
1448  _In_ DWORD64,
1450  _In_opt_ PVOID);
1451 
1452 BOOL
1453 WINAPI
1455  _In_ HANDLE,
1456  _In_ DWORD64,
1458  _In_opt_ PVOID);
1459 
1460 typedef BOOL
1462  _In_ HANDLE,
1463  _In_ ULONG,
1464  _In_opt_ ULONG64,
1465  _In_opt_ ULONG64);
1466 
1467 BOOL
1468 WINAPI
1470  _In_ HANDLE,
1472  _In_ ULONG64);
1473 
1474 BOOL
1475 WINAPI
1477  _In_ HANDLE,
1479  _In_ ULONG64);
1480 
1481 BOOL
1482 WINAPI
1483 SymUnDName64(
1485  _Out_writes_(UnDecNameLength) PSTR,
1486  _In_ DWORD UnDecNameLength);
1487 
1491 
1492 BOOL
1493 WINAPI
1494 SymSearch(
1495  _In_ HANDLE,
1496  _In_ ULONG64,
1497  _In_opt_ DWORD,
1498  _In_opt_ DWORD,
1499  _In_opt_ PCSTR,
1500  _In_opt_ DWORD64,
1502  _In_opt_ PVOID,
1503  _In_ DWORD);
1504 
1505 BOOL
1506 WINAPI
1507 SymSearchW(
1508  _In_ HANDLE,
1509  _In_ ULONG64,
1510  _In_opt_ DWORD,
1511  _In_opt_ DWORD,
1512  _In_opt_ PCWSTR,
1513  _In_opt_ DWORD64,
1515  _In_opt_ PVOID,
1516  _In_ DWORD);
1517 
1518 DWORD
1519 WINAPI
1521  _In_ PCSTR,
1522  _Out_writes_(maxStringLength) PSTR,
1523  _In_ DWORD maxStringLength,
1524  _In_ DWORD);
1525 
1526 DWORD
1527 WINAPI
1529  _In_ PCWSTR,
1530  _Out_writes_(maxStringLength) PWSTR,
1531  _In_ DWORD maxStringLength,
1532  _In_ DWORD);
1533 
1534 BOOL
1535 WINAPI
1536 SymGetScope(
1537  _In_ HANDLE,
1538  _In_ ULONG64,
1539  _In_ DWORD,
1541 
1542 BOOL
1543 WINAPI
1544 SymGetScopeW(
1545  _In_ HANDLE,
1546  _In_ ULONG64,
1547  _In_ DWORD,
1549 
1550 BOOL
1551 WINAPI
1552 SymFromIndex(
1553  _In_ HANDLE,
1554  _In_ ULONG64,
1555  _In_ DWORD,
1557 
1558 BOOL
1559 WINAPI
1561  _In_ HANDLE,
1562  _In_ ULONG64,
1563  _In_ DWORD,
1565 
1566 BOOL
1567 WINAPI
1568 SymAddSymbol(
1569  _In_ HANDLE,
1570  _In_ ULONG64,
1571  _In_ PCSTR,
1572  _In_ DWORD64,
1573  _In_ DWORD,
1574  _In_ DWORD);
1575 
1576 BOOL
1577 WINAPI
1579  _In_ HANDLE,
1580  _In_ ULONG64,
1581  _In_ PCWSTR,
1582  _In_ DWORD64,
1583  _In_ DWORD,
1584  _In_ DWORD);
1585 
1586 BOOL
1587 WINAPI
1589  _In_ HANDLE,
1590  _In_ ULONG64,
1591  _In_opt_ PCSTR,
1592  _In_ DWORD64,
1593  _In_ DWORD);
1594 
1595 BOOL
1596 WINAPI
1598  _In_ HANDLE,
1599  _In_ ULONG64,
1600  _In_opt_ PCWSTR,
1601  _In_ DWORD64,
1602  _In_ DWORD);
1603 
1604 /*************************
1605  * Source Files *
1606  *************************/
1607 
1608 typedef BOOL
1610  _In_ PSOURCEFILE,
1611  _In_opt_ PVOID);
1612 
1613 typedef BOOL
1616  _In_opt_ PVOID);
1617 
1618 BOOL
1619 WINAPI
1621  _In_ HANDLE,
1622  _In_ ULONG64,
1623  _In_opt_ PCSTR,
1625  _In_opt_ PVOID);
1626 
1627 BOOL
1628 WINAPI
1630  _In_ HANDLE,
1631  _In_ ULONG64,
1632  _In_opt_ PCWSTR,
1634  _In_opt_ PVOID);
1635 
1636 BOOL
1637 WINAPI
1639  _In_ HANDLE,
1640  _In_ DWORD64,
1641  _Out_ PDWORD,
1643 
1644 BOOL
1645 WINAPI
1647  _In_ HANDLE,
1648  _In_ DWORD64,
1649  _Out_ PDWORD,
1651 
1656 
1657 BOOL
1658 WINAPI
1660  _In_ HANDLE,
1661  _In_opt_ PCSTR,
1662  _In_opt_ PCSTR,
1663  _In_ DWORD,
1664  _Out_ PLONG,
1666 
1667 BOOL
1668 WINAPI
1670  _In_ HANDLE,
1671  _In_opt_ PCWSTR,
1672  _In_opt_ PCWSTR,
1673  _In_ DWORD,
1674  _Out_ PLONG,
1676 
1677 ULONG
1678 WINAPI
1680  _In_ HANDLE,
1681  _In_opt_ PCSTR,
1682  _In_ PCSTR,
1683  _Out_writes_(BufferLines) PDWORD64,
1684  _In_ ULONG BufferLines);
1685 
1686 BOOL
1687 WINAPI
1689  _In_ HANDLE,
1690  _In_ ULONG64,
1691  _In_opt_ PCSTR,
1692  _In_ PCSTR,
1694  _In_ DWORD Size);
1695 
1696 BOOL
1697 WINAPI
1699  _In_ HANDLE,
1700  _In_ ULONG64,
1701  _In_opt_ PCWSTR,
1702  _In_ PCWSTR,
1704  _In_ DWORD Size);
1705 
1706 BOOL
1707 WINAPI
1709  _In_ HANDLE,
1710  _In_ ULONG64,
1711  _In_ PCSTR,
1712  _Outptr_ PVOID*,
1713  _Out_ DWORD*);
1714 
1715 BOOL
1716 WINAPI
1718  _In_ HANDLE,
1719  _In_ ULONG64,
1720  _In_ PCWSTR,
1721  _Outptr_ PVOID*,
1722  _Out_ DWORD*);
1723 
1724 BOOL
1725 WINAPI
1727  _In_ HANDLE,
1728  _In_ PVOID,
1729  _In_opt_ PCSTR,
1731  _In_ DWORD Size);
1732 
1733 BOOL
1734 WINAPI
1736  _In_ HANDLE,
1737  _In_ PVOID,
1738  _In_opt_ PCWSTR,
1740  _In_ DWORD Size);
1741 
1742 BOOL
1743 WINAPI
1745  _In_ HANDLE,
1746  _In_ PVOID,
1747  _In_opt_ PCSTR,
1748  _In_ PCSTR,
1750  _In_ DWORD Size);
1751 
1752 BOOL
1753 WINAPI
1755  _In_ HANDLE,
1756  _In_ PVOID,
1757  _In_opt_ PCWSTR,
1758  _In_ PCWSTR,
1760  _In_ DWORD Size);
1761 
1762 typedef struct _SRCCODEINFO
1763 {
1765  PVOID Key;
1766  DWORD64 ModBase;
1767  CHAR Obj[MAX_PATH+1];
1768  CHAR FileName[MAX_PATH+1];
1769  DWORD LineNumber;
1770  DWORD64 Address;
1772 
1773 typedef struct _SRCCODEINFOW
1774 {
1776  PVOID Key;
1777  DWORD64 ModBase;
1778  WCHAR Obj[MAX_PATH+1];
1779  WCHAR FileName[MAX_PATH+1];
1780  DWORD LineNumber;
1781  DWORD64 Address;
1783 
1784 typedef BOOL
1787  _In_opt_ PVOID);
1788 
1789 typedef BOOL
1792  _In_opt_ PVOID);
1793 
1794 BOOL
1795 WINAPI
1796 SymEnumLines(
1797  _In_ HANDLE,
1798  _In_ ULONG64,
1799  _In_opt_ PCSTR,
1800  _In_opt_ PCSTR,
1802  _In_opt_ PVOID);
1803 
1804 BOOL
1805 WINAPI
1807  _In_ HANDLE,
1808  _In_ ULONG64,
1809  _In_opt_ PCWSTR,
1810  _In_opt_ PCWSTR,
1812  _In_opt_ PVOID);
1813 
1814 BOOL
1815 WINAPI
1817  _In_ HANDLE,
1818  _In_ ULONG64,
1819  _In_opt_ PCSTR,
1820  _In_opt_ PCSTR,
1821  _In_opt_ DWORD,
1822  _In_ DWORD,
1824  _In_opt_ PVOID);
1825 
1826 BOOL
1827 WINAPI
1829  _In_ HANDLE,
1830  _In_ ULONG64,
1831  _In_opt_ PCWSTR,
1832  _In_opt_ PCWSTR,
1833  _In_opt_ DWORD,
1834  _In_ DWORD,
1836  _In_opt_ PVOID);
1837 
1838 /*************************
1839  * File & image handling *
1840  *************************/
1841 
1845 
1846 HANDLE
1847 WINAPI
1849  _In_ PCSTR,
1850  _In_ PCSTR,
1851  _Out_writes_(MAX_PATH + 1) PSTR);
1852 
1853 typedef BOOL
1855  _In_ HANDLE,
1856  _In_ PCSTR,
1857  _In_ PVOID);
1858 
1859 typedef BOOL
1861  _In_ HANDLE,
1862  _In_ PCWSTR,
1863  _In_ PVOID);
1864 
1865 HANDLE
1866 WINAPI
1868  _In_ PCSTR,
1869  _In_ PCSTR,
1870  _Out_writes_(MAX_PATH + 1) PSTR,
1872  _In_opt_ PVOID);
1873 
1874 HANDLE
1875 WINAPI
1877  _In_ PCWSTR,
1878  _In_ PCWSTR,
1881  _In_opt_ PVOID);
1882 
1883 HANDLE
1884 WINAPI
1886  _In_ HANDLE,
1887  _In_ PCSTR,
1888  _Out_writes_(MAX_PATH + 1) PSTR,
1890  _In_opt_ PVOID);
1891 
1892 HANDLE
1893 WINAPI
1895  _In_ HANDLE,
1896  _In_ PCWSTR,
1899  _In_opt_ PVOID);
1900 
1901 typedef BOOL
1903  _In_ PCSTR,
1904  _In_ PVOID);
1905 
1906 typedef BOOL
1908  _In_ PCWSTR,
1909  _In_ PVOID);
1910 
1913 
1914 BOOL
1915 WINAPI
1917  _In_ HANDLE,
1918  _In_opt_ PCSTR,
1919  _In_ PCSTR,
1920  _In_opt_ PVOID,
1921  _In_ DWORD,
1922  _In_ DWORD,
1923  _In_ DWORD,
1924  _Out_writes_(MAX_PATH + 1) PSTR,
1926  _In_opt_ PVOID);
1927 
1928 BOOL
1929 WINAPI
1931  _In_ HANDLE,
1932  _In_opt_ PCWSTR,
1933  _In_ PCWSTR,
1934  _In_opt_ PVOID,
1935  _In_ DWORD,
1936  _In_ DWORD,
1937  _In_ DWORD,
1940  _In_opt_ PVOID);
1941 
1942 HANDLE
1943 WINAPI
1945  _In_ PCSTR,
1946  _In_ PCSTR,
1947  _Out_writes_(MAX_PATH + 1) PSTR);
1948 
1949 typedef BOOL
1951  _In_ HANDLE,
1952  _In_ PCSTR,
1953  _In_opt_ PVOID);
1954 
1955 typedef BOOL
1957  _In_ HANDLE,
1958  _In_ PCWSTR,
1959  _In_opt_ PVOID);
1960 
1961 HANDLE
1962 WINAPI
1964  _In_ PCSTR,
1965  _In_ PCSTR,
1966  _Out_writes_(MAX_PATH + 1) PSTR,
1968  _In_opt_ PVOID);
1969 
1970 HANDLE
1971 WINAPI
1973  _In_ PCWSTR,
1974  _In_ PCWSTR,
1977  _In_opt_ PVOID);
1978 
1979 HANDLE
1980 WINAPI
1982  _In_ HANDLE,
1983  _In_ PCSTR,
1984  _Out_writes_(MAX_PATH + 1) PSTR,
1986  _In_ PVOID);
1987 
1988 HANDLE
1989 WINAPI
1991  _In_ HANDLE,
1992  _In_ PCWSTR,
1995  _In_ PVOID);
1996 
1998 
1999 PVOID
2000 WINAPI
2002  _In_ PVOID,
2003  _In_ BOOLEAN,
2004  _In_ USHORT,
2005  _Out_ PULONG,
2007 
2008 PVOID
2009 WINAPI
2011  _In_ PVOID,
2012  _In_ BOOLEAN,
2013  _In_ USHORT,
2014  _Out_ PULONG);
2015 
2017 WINAPI
2020  _In_ PVOID,
2021  _In_ ULONG);
2022 
2023 PVOID
2024 WINAPI
2025 ImageRvaToVa(
2027  _In_ PVOID,
2028  _In_ ULONG,
2030 
2031 BOOL
2032 WINAPI
2034  _In_ HANDLE,
2035  _Out_writes_(SearchPathLength) PSTR,
2036  _In_ DWORD SearchPathLength);
2037 
2038 BOOL
2039 WINAPI
2041  _In_ HANDLE,
2042  _Out_writes_(SearchPathLength) PWSTR,
2043  _In_ DWORD SearchPathLength);
2044 
2049 
2050 BOOL
2051 WINAPI
2053  _In_ PCSTR,
2054  _In_ PCSTR,
2055  _Out_writes_(MAX_PATH + 1) PSTR);
2056 
2057 BOOL
2058 WINAPI
2060  _In_ PCWSTR,
2061  _In_ PCWSTR,
2062  _Out_writes_(MAX_PATH + 1) PWSTR);
2063 
2064 typedef BOOL
2066  _In_ PCSTR,
2067  _In_opt_ PVOID);
2068 
2069 typedef BOOL
2071  _In_ PCWSTR,
2072  _In_opt_ PVOID);
2073 
2074 BOOL
2075 WINAPI
2076 EnumDirTree(
2077  _In_opt_ HANDLE,
2078  _In_ PCSTR,
2079  _In_ PCSTR,
2082  _In_opt_ PVOID);
2083 
2084 BOOL
2085 WINAPI
2086 EnumDirTreeW(
2087  _In_opt_ HANDLE,
2088  _In_ PCWSTR,
2089  _In_ PCWSTR,
2092  _In_opt_ PVOID);
2093 
2094 BOOL
2095 WINAPI
2097  _In_ PCSTR,
2098  _In_ PCSTR,
2099  _Outptr_opt_ PSTR*,
2100  _Outptr_opt_ PSTR*);
2101 
2102 BOOL
2103 WINAPI
2105  _In_ PCWSTR,
2106  _In_ PCWSTR,
2108  _Outptr_opt_ PWSTR*);
2109 
2112 
2113 PCHAR
2114 WINAPI
2116  _In_ DWORD,
2118  _In_ size_t size);
2119 
2120 PWSTR
2121 WINAPI
2123  _In_ DWORD,
2125  _In_ size_t size);
2126 
2127 #define hdBase 0
2128 #define hdSym 1
2129 #define hdSrc 2
2130 #define hdMax 3
2131 
2132 /*************************
2133  * Context management *
2134  *************************/
2135 
2136 BOOL
2137 WINAPI
2139  _In_ HANDLE,
2142 
2143 
2144 /*************************
2145  * Stack management *
2146  *************************/
2147 
2148 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
2149 #define KDHELP KDHELP64
2150 #define PKDHELP PKDHELP64
2151 #else
2152 typedef struct _KDHELP
2153 {
2161 } KDHELP, *PKDHELP;
2162 #endif
2163 
2164 typedef struct _KDHELP64
2165 {
2166  DWORD64 Thread;
2174  DWORD64 Reserved[8];
2175 } KDHELP64, *PKDHELP64;
2176 
2177 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
2178 #define STACKFRAME STACKFRAME64
2179 #define LPSTACKFRAME LPSTACKFRAME64
2180 #else
2181 typedef struct _STACKFRAME
2182 {
2195 #endif
2196 
2197 typedef struct _STACKFRAME64
2198 {
2199  ADDRESS64 AddrPC;
2205  DWORD64 Params[4];
2206  BOOL Far;
2207  BOOL Virtual;
2208  DWORD64 Reserved[3];
2209  KDHELP64 KdHelp;
2211 
2212 typedef BOOL
2214  _In_ HANDLE,
2215  _In_ DWORD64,
2217  _In_ DWORD nSize,
2218  _Out_ PDWORD);
2219 
2220 typedef PVOID
2222  _In_ HANDLE,
2223  _In_ DWORD64);
2224 
2225 typedef DWORD64
2227  _In_ HANDLE,
2228  _In_ DWORD64);
2229 
2230 typedef DWORD64
2232  _In_ HANDLE,
2233  _In_ HANDLE,
2234  _In_ LPADDRESS64);
2235 
2236 BOOL
2237 WINAPI
2238 StackWalk64(
2239  _In_ DWORD,
2240  _In_ HANDLE,
2241  _In_ HANDLE,
2243  _Inout_ PVOID,
2248 
2250 
2251 typedef PVOID
2253  _In_ HANDLE,
2254  _In_ ULONG64,
2255  _In_ ULONG64);
2256 
2257 BOOL
2258 WINAPI
2260  _In_ HANDLE,
2262  _In_ ULONG64);
2263 
2264 /*************************
2265  * Version, global stuff *
2266  *************************/
2267 
2268 #define API_VERSION_NUMBER 9
2269 
2270 typedef struct API_VERSION
2271 {
2274  USHORT Revision;
2275  USHORT Reserved;
2277 
2280 
2282 {
2315 
2316 typedef enum
2317 {
2320 
2321 #ifdef __WINESRC__
2323 #endif
2325 
2327 WINAPI
2329  _In_opt_ HANDLE,
2330  _In_ PCSTR,
2331  _In_opt_ PCSTR,
2332  _In_ ULONG);
2333 
2335 
2336 DWORD WINAPI SymGetOptions(void);
2338 
2341 
2343 
2344 BOOL
2345 IMAGEAPI
2348  _In_ PCSTR path);
2349 
2350 BOOL
2351 IMAGEAPI
2354  _In_ PCWSTR path);
2355 
2356 /*************************
2357  * Version, global stuff *
2358  *************************/
2359 
2371 
2372 #define SSRVOPT_CALLBACK 0x0001
2373 #define SSRVOPT_DWORD 0x0002
2374 #define SSRVOPT_DWORDPTR 0x0004
2375 #define SSRVOPT_GUIDPTR 0x0008
2376 #define SSRVOPT_OLDGUIDPTR 0x0010
2377 #define SSRVOPT_UNATTENDED 0x0020
2378 #define SSRVOPT_NOCOPY 0x0040
2379 #define SSRVOPT_PARENTWIN 0x0080
2380 #define SSRVOPT_PARAMTYPE 0x0100
2381 #define SSRVOPT_SECURE 0x0200
2382 #define SSRVOPT_TRACE 0x0400
2383 #define SSRVOPT_SETCONTEXT 0x0800
2384 #define SSRVOPT_PROXY 0x1000
2385 #define SSRVOPT_DOWNSTREAM_STORE 0x2000
2386 #define SSRVOPT_RESET ((ULONG_PTR)-1)
2387 
2388 #define SSRVACTION_TRACE 1
2389 #define SSRVACTION_QUERYCANCEL 2
2390 #define SSRVACTION_EVENT 3
2391 
2392 /* 32-bit functions */
2393 
2394 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
2395 
2396 #define PENUMLOADED_MODULES_CALLBACK PENUMLOADED_MODULES_CALLBACK64
2397 #define PFUNCTION_TABLE_ACCESS_ROUTINE PFUNCTION_TABLE_ACCESS_ROUTINE64
2398 #define PGET_MODULE_BASE_ROUTINE PGET_MODULE_BASE_ROUTINE64
2399 #define PREAD_PROCESS_MEMORY_ROUTINE PREAD_PROCESS_MEMORY_ROUTINE64
2400 #define PSYMBOL_FUNCENTRY_CALLBACK PSYMBOL_FUNCENTRY_CALLBACK64
2401 #define PSYMBOL_REGISTERED_CALLBACK PSYMBOL_REGISTERED_CALLBACK64
2402 #define PSYM_ENUMMODULES_CALLBACK PSYM_ENUMMODULES_CALLBACK64
2403 #define PSYM_ENUMSYMBOLS_CALLBACK PSYM_ENUMSYMBOLS_CALLBACK64
2404 #define PSYM_ENUMSYMBOLS_CALLBACKW PSYM_ENUMSYMBOLS_CALLBACKW64
2405 #define PTRANSLATE_ADDRESS_ROUTINE PTRANSLATE_ADDRESS_ROUTINE64
2406 
2407 #define EnumerateLoadedModules EnumerateLoadedModules64
2408 #define StackWalk StackWalk64
2409 #define SymEnumerateModules SymEnumerateModules64
2410 #define SymEnumerateSymbols SymEnumerateSymbols64
2411 #define SymEnumerateSymbolsW SymEnumerateSymbolsW64
2412 #define SymFunctionTableAccess SymFunctionTableAccess64
2413 #define SymGetLineFromAddr SymGetLineFromAddr64
2414 #define SymGetLineFromAddrW SymGetLineFromAddrW64
2415 #define SymGetLineFromName SymGetLineFromName64
2416 #define SymGetLineNext SymGetLineNext64
2417 #define SymGetLineNextW SymGetLineNextW64
2418 #define SymGetLinePrev SymGetLinePrev64
2419 #define SymGetLinePrevW SymGetLinePrevW64
2420 #define SymGetModuleBase SymGetModuleBase64
2421 #define SymGetModuleInfo SymGetModuleInfo64
2422 #define SymGetModuleInfoW SymGetModuleInfoW64
2423 #define SymGetSymFromAddr SymGetSymFromAddr64
2424 #define SymGetSymFromName SymGetSymFromName64
2425 #define SymGetSymNext SymGetSymNext64
2426 #define SymGetSymNextW SymGetSymNextW64
2427 #define SymGetSymPrev SymGetSymPrev64
2428 #define SymGetSymPrevW SymGetSymPrevW64
2429 #define SymLoadModule SymLoadModule64
2430 #define SymRegisterCallback SymRegisterCallback64
2431 #define SymRegisterFunctionEntryCallback SymRegisterFunctionEntryCallback64
2432 #define SymUnDName SymUnDName64
2433 #define SymUnloadModule SymUnloadModule64
2434 
2435 #else
2436 
2437 typedef BOOL
2439  _In_ PCSTR,
2440  _In_ ULONG,
2441  _In_ ULONG,
2442  _In_opt_ PVOID);
2443 
2444 typedef PVOID
2446  _In_ HANDLE,
2447  _In_ DWORD);
2448 
2449 typedef DWORD
2451  _In_ HANDLE,
2452  _In_ DWORD);
2453 
2454 typedef BOOL
2456  _In_ HANDLE,
2457  _In_ DWORD,
2459  _In_ DWORD nSize,
2460  _Out_ PDWORD);
2461 
2462 typedef BOOL
2464  _In_ PCSTR,
2465  _In_ ULONG,
2466  _In_opt_ PVOID);
2467 
2468 typedef BOOL
2470  _In_ PCSTR,
2471  _In_ ULONG,
2472  _In_ ULONG,
2473  _In_opt_ PVOID);
2474 
2475 typedef BOOL
2477  _In_ PCWSTR,
2478  _In_ ULONG,
2479  _In_ ULONG,
2480  _In_opt_ PVOID);
2481 
2482 typedef BOOL
2484  _In_ HANDLE,
2485  _In_ ULONG,
2486  _In_opt_ PVOID,
2487  _In_opt_ PVOID);
2488 
2489 typedef PVOID
2491  _In_ HANDLE,
2492  _In_ DWORD,
2493  _In_opt_ PVOID);
2494 
2495 typedef DWORD
2497  _In_ HANDLE,
2498  _In_ HANDLE,
2499  _Out_ LPADDRESS);
2500 
2501 BOOL
2502 WINAPI
2504  _In_ HANDLE,
2506  _In_opt_ PVOID);
2507 
2508 BOOL
2509 WINAPI
2510 StackWalk(
2511  _In_ DWORD,
2512  _In_ HANDLE,
2513  _In_ HANDLE,
2515  _Inout_ PVOID,
2520 
2521 BOOL
2522 WINAPI
2524  _In_ HANDLE,
2526  _In_opt_ PVOID);
2527 
2528 BOOL
2529 WINAPI
2531  _In_ HANDLE,
2532  _In_ ULONG,
2534  _In_opt_ PVOID);
2535 
2536 BOOL
2537 WINAPI
2539  _In_ HANDLE,
2540  _In_ ULONG,
2542  _In_opt_ PVOID);
2543 
2545 
2546 BOOL
2547 WINAPI
2549  _In_ HANDLE,
2550  _In_ DWORD,
2551  _Out_ PDWORD,
2553 
2554 BOOL
2555 WINAPI
2557  _In_ HANDLE,
2558  _In_ DWORD,
2559  _Out_ PDWORD,
2561 
2562 BOOL
2563 WINAPI
2565  _In_ HANDLE,
2566  _In_opt_ PCSTR,
2567  _In_opt_ PCSTR,
2568  _In_ DWORD,
2569  _Out_ PLONG,
2571 
2577 
2578 BOOL
2579 WINAPI
2581  _In_ HANDLE,
2582  _In_ DWORD,
2584 
2585 BOOL
2586 WINAPI
2588  _In_ HANDLE,
2589  _In_ DWORD,
2591 
2592 BOOL
2593 WINAPI
2595  _In_ HANDLE,
2596  _In_ DWORD,
2597  _Out_opt_ PDWORD,
2599 
2600 BOOL
2601 WINAPI
2603  _In_ HANDLE,
2604  _In_ PCSTR,
2606 
2611 
2612 DWORD
2613 WINAPI
2615  _In_ HANDLE,
2616  _In_opt_ HANDLE,
2617  _In_opt_ PCSTR,
2618  _In_opt_ PCSTR,
2619  _In_ DWORD,
2620  _In_ DWORD);
2621 
2622 BOOL
2623 WINAPI
2625  _In_ HANDLE,
2627  _In_opt_ PVOID);
2628 
2629 BOOL
2630 WINAPI
2632  _In_ HANDLE,
2634  _In_opt_ PVOID);
2635 
2637 
2638 BOOL
2639 WINAPI
2640 SymUnDName(
2642  _Out_writes_(UnDecNameLength) PSTR,
2643  _In_ DWORD UnDecNameLength);
2644 
2646 
2647 #endif
2648 
2649 #ifdef __cplusplus
2650 } /* extern "C" */
2651 #endif /* defined(__cplusplus) */
2652 
2653 #endif /* __WINE_DBGHELP_H */
_THREAD_WRITE_FLAGS
Definition: compat.h:1003
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:1355
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:809
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:601
BOOL WINAPI SymEnumSym(_In_ HANDLE, _In_ ULONG64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACK, _In_opt_ PVOID)
ULONG Tag
Definition: compat.h:908
SYM_TYPE SymType
Definition: compat.h:1103
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:2303
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:57
DWORD MaxNameLength
Definition: compat.h:1338
BOOL WINAPI SymAddSymbolW(_In_ HANDLE, _In_ ULONG64, _In_ PCWSTR, _In_ DWORD64, _In_ DWORD, _In_ DWORD)
SYM_TYPE
Definition: compat.h:913
struct _MINIDUMP_SYSTEM_INFO::@2787::@2789 DUMMYSTRUCTNAME
BOOL WINAPI SymGetLinePrev(_In_ HANDLE, _Inout_ PIMAGEHLP_LINE)
BOOL(CALLBACK * PSYM_ENUMLINES_CALLBACKW)(_In_ PSRCCODEINFOW, _In_opt_ PVOID)
Definition: dbghelp.h:1790
PEXCEPTION_POINTERS ExceptionPointers
Definition: dbghelp.h:774
ADDRESS_MODE Mode
Definition: compat.h:1056
DWORD(CALLBACK * PGET_MODULE_BASE_ROUTINE)(_In_ HANDLE, _In_ DWORD)
Definition: dbghelp.h:2450
ULONG64 RVA64
Definition: compat.h:1122
DWORD ReservedNumberOfDebugDirectories
Definition: dbghelp.h:2311
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:841
ULONG NameLen
Definition: compat.h:909
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:1318
BOOL WINAPI SymGetSymPrevW64(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOLW64)
SYMBOL_INFO si
Definition: dbghelp.h:1179
ULONG64 Address
Definition: compat.h:1225
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:790
HANDLE hFile
Definition: dbghelp.h:100
ULONG MaxNameLen
Definition: compat.h:910
DWORD SizeOfStruct
Definition: compat.h:1378
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)
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
ULONG NumberParameters
Definition: dbghelp.h:766
struct _IMAGEHLP_SYMBOLW64 IMAGEHLP_SYMBOLW64
WCHAR ModuleName[32]
Definition: compat.h:935
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACKW64)(_In_ PCWSTR, _In_ DWORD64, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:1011
struct _IMAGEHLP_SYMBOLW IMAGEHLP_SYMBOLW
USHORT MajorVersion
Definition: compat.h:1430
MINIDUMP_THREAD_EX_CALLBACK ThreadEx
Definition: compat.h:1190
PVOID FuncTableEntry
Definition: dbghelp.h:2187
HANDLE WINAPI SymFindExecutableImageW(_In_ HANDLE, _In_ PCWSTR, _Out_writes_(MAX_PATH+1) PWSTR, _In_ PFIND_EXE_FILE_CALLBACKW, _In_ PVOID)
IMAGEHLP_EXTENDED_OPTIONS
Definition: dbghelp.h:2316
BOOL WINAPI SymSetContext(_In_ HANDLE, _In_ PIMAGEHLP_STACK_FRAME, _In_opt_ PIMAGEHLP_CONTEXT)
ULONG MaxNameLen
Definition: compat.h:1230
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:2302
IMAGEHLP_EXTENDED_OPTIONS
Definition: compat.h:960
struct _SYMBOL_INFO_PACKAGEW * PSYMBOL_INFO_PACKAGEW
ULONG64 ModBase
Definition: compat.h:1222
MINIDUMP_LOCATION_DESCRIPTOR ThreadContext
Definition: dbghelp.h:920
struct _SOURCEFILE * PSOURCEFILE
union _MINIDUMP_SYSTEM_INFO::_CPU_INFORMATION Cpu
PVOID Key
Definition: compat.h:970
BOOL(CALLBACK * PSYM_ENUMERATESYMBOLS_CALLBACKW)(_In_ PSYMBOL_INFOW, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:1296
struct _IMAGEHLP_MODULEW64 IMAGEHLP_MODULEW64
PIMAGE_SECTION_HEADER ReservedSections
Definition: dbghelp.h:2292
BOOL WINAPI SymRefreshModuleList(_In_ HANDLE)
DWORD64 BaseOfImage
Definition: compat.h:929
struct _KDHELP64 KDHELP64
DWORD LineNumber
Definition: compat.h:1398
MINIDUMP_THREAD_CALLBACK Thread
Definition: compat.h:1189
uint16_t * PWSTR
Definition: typedefs.h:56
SYMBOL_INFOW si
Definition: dbghelp.h:1185
BOOL WINAPI SymGetLineFromAddr64(_In_ HANDLE, _In_ DWORD64, _Out_ PDWORD, _Out_ PIMAGEHLP_LINE64)
DWORD SizeOfStruct
Definition: compat.h:1354
ULONG64 FuncTableEntry
Definition: compat.h:1240
PVOID(CALLBACK * PSYMBOL_FUNCENTRY_CALLBACK)(_In_ HANDLE, _In_ DWORD, _In_opt_ PVOID)
Definition: dbghelp.h:2490
struct _MINIDUMP_CALLBACK_OUTPUT::@354::@355 DUMMYSTRUCTNAME
enum _MODULE_WRITE_FLAGS MODULE_WRITE_FLAGS
DWORD SizeOfStruct
Definition: compat.h:1316
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:942
DWORD BaseOfImage
Definition: compat.h:1075
BOOL(CALLBACK * PFIND_EXE_FILE_CALLBACKW)(_In_ HANDLE, _In_ PCWSTR, _In_opt_ PVOID)
Definition: dbghelp.h:1956
IMAGEHLP_SYMBOL_TYPE_INFO * ReqKinds
Definition: dbghelp.h:1230
CHAR LoadedPdbName[256]
Definition: compat.h:1107
ULONG Scope
Definition: compat.h:907
BOOL(CALLBACK * PFINDFILEINPATHCALLBACKW)(_In_ PCWSTR, _In_ PVOID)
Definition: dbghelp.h:1907
DWORD64 KeUserCallbackDispatcher
Definition: compat.h:1254
CHAR ModuleName[32]
Definition: compat.h:1104
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2037
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK)(_In_ PCSTR, _In_ ULONG, _In_ ULONG, _In_opt_ PVOID)
Definition: dbghelp.h:2469
ULONG64 BackingStoreOffset
Definition: compat.h:1239
WCHAR ImageName[256]
Definition: compat.h:1082
USHORT MinorVersion
Definition: compat.h:1431
BOOL WINAPI SymSetSearchPathW(_In_ HANDLE, _In_opt_ PCWSTR)
struct _MINIDUMP_THREAD_LIST MINIDUMP_THREAD_LIST
#define CALLBACK
Definition: compat.h:35
BOOL WINAPI SymGetModuleInfoW(_In_ HANDLE, _In_ DWORD, _Out_ PIMAGEHLP_MODULEW)
DWORD WINAPI SymSetOptions(_In_ DWORD)
DWORD64 Address
Definition: compat.h:1322
#define _Outptr_
Definition: no_sal2.h:262
ULONG Flags
Definition: compat.h:903
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:1317
DWORD SizeOfStruct
Definition: compat.h:1344
DWORD SizeOfStruct
Definition: compat.h:1387
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:795
union _MINIDUMP_CALLBACK_OUTPUT::@354 DUMMYUNIONNAME
DWORD(CALLBACK * PTRANSLATE_ADDRESS_ROUTINE)(_In_ HANDLE, _In_ HANDLE, _Out_ LPADDRESS)
Definition: dbghelp.h:2496
MINIDUMP_MODULE_CALLBACK Module
Definition: compat.h:1191
struct _SYMBOL_INFO_PACKAGE * PSYMBOL_INFO_PACKAGE
struct _SOURCEFILE SOURCEFILE
ULONG TypeIndex
Definition: compat.h:898
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: compat.h:206
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:1038
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE)(_In_ HANDLE, _In_ DWORD, _Out_writes_bytes_(nSize) PVOID, _In_ DWORD nSize, _Out_ PDWORD)
Definition: dbghelp.h:2455
ULONG64 Address
Definition: compat.h:905
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:2438
ADDRESS AddrPC
Definition: dbghelp.h:2183
DWORD LineNumber
Definition: compat.h:1380
DWORD WINAPI SymGetOptions(void)
Definition: dbghelp.c:574
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:2159
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:2366
uint16_t * PWCHAR
Definition: typedefs.h:56
struct _KDHELP KDHELP
struct _IMAGEHLP_STACK_FRAME IMAGEHLP_STACK_FRAME
ADDRESS64 AddrBStore
Definition: compat.h:1264
DWORD WINAPI GetTimestampForLoadedLibrary(_In_ HMODULE)
_IMAGEHLP_SYMBOL_TYPE_INFO
Definition: compat.h:1272
PVOID(CALLBACK * PSYMBOL_FUNCENTRY_CALLBACK64)(_In_ HANDLE, _In_ ULONG64, _In_ ULONG64)
Definition: dbghelp.h:2252
struct _MINIDUMP_MEMORY_DESCRIPTOR MINIDUMP_MEMORY_DESCRIPTOR
LPAPI_VERSION WINAPI ImagehlpApiVersion(void)
Definition: dbghelp.c:811
DWORD ReservedNumberOfFpoTableEntries
Definition: dbghelp.h:2299
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:1249
ULONG64 Flags
Definition: dbghelp.h:798
#define _Out_writes_(s)
Definition: no_sal2.h:176
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:957
WORD Segment
Definition: compat.h:1034
#define _In_opt_
Definition: no_sal2.h:212
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:2296
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE64)(_In_ HANDLE, _In_ DWORD64, _Out_writes_bytes_(nSize) PVOID, _In_ DWORD nSize, _Out_ PDWORD)
Definition: dbghelp.h:2213
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:2364
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACK64)(_In_ PCSTR, _In_ DWORD64, _In_opt_ PVOID)
Definition: dbghelp.h:1025
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:1100
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:1950
uint32_t ULONG_PTR
Definition: typedefs.h:65
DWORD FramePointer
Definition: compat.h:1252
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:731
BOOL WINAPI SymGetLineFromName(_In_ HANDLE, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD, _Out_ PLONG, _Inout_ PIMAGEHLP_LINE)
PCHAR WINAPI SymGetHomeDirectory(_In_ DWORD, _Out_writes_(size) PSTR, _In_ size_t size)
DWORD64 ModBase
Definition: compat.h:1309
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
DWORD WINAPI SymGetModuleBase(_In_ HANDLE, _In_ DWORD)
struct _SYMBOL_INFOW * PSYMBOL_INFOW
struct _MINIDUMP_DIRECTORY * PMINIDUMP_DIRECTORY
ULONG NameLen
Definition: compat.h:1229
struct _MINIDUMP_THREAD_EX_CALLBACK * PMINIDUMP_THREAD_EX_CALLBACK
UCHAR NumberOfProcessors
Definition: dbghelp.h:875
WCHAR LoadedImageName[256]
Definition: compat.h:937
USHORT Revision
Definition: compat.h:1432
ULONG __unusedAlignment
Definition: dbghelp.h:767
struct _MINIDUMP_EXCEPTION MINIDUMP_EXCEPTION
PVOID WINAPI SymFunctionTableAccess64(_In_ HANDLE, _In_ DWORD64)
BOOL(CALLBACK * PENUMDIRTREE_CALLBACK)(_In_ PCSTR, _In_opt_ PVOID)
Definition: dbghelp.h:2065
struct _MINIDUMP_SYSTEM_INFO::_CPU_INFORMATION::@2791 X86CpuInfo
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:1438
struct _IMAGEHLP_MODULEW IMAGEHLP_MODULEW
struct _MINIDUMP_MEMORY_DESCRIPTOR64 * PMINIDUMP_MEMORY_DESCRIPTOR64
ADDRESS_MODE
Definition: compat.h:1013
unsigned int BOOL
Definition: ntddk_ex.h:94
UCHAR Version
Definition: dbghelp.h:114
DWORD Address
Definition: compat.h:1391
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:1063
BOOL(CALLBACK * PFIND_DEBUG_FILE_CALLBACKW)(_In_ HANDLE, _In_ PCWSTR, _In_ PVOID)
Definition: dbghelp.h:1860
struct _tagADDRESS64 * LPADDRESS64
ULONG64 Reserved1
Definition: dbghelp.h:850
BOOL(WINAPI * PSYMBOLSERVERPINGPROCW)(PCWSTR)
Definition: dbghelp.h:2370
USHORT ProcessorArchitecture
Definition: dbghelp.h:867
struct _SRCCODEINFO SRCCODEINFO
ULONG ExceptionFlags
Definition: dbghelp.h:763
struct _KDHELP64 * PKDHELP64
BOOL WINAPI SymSetExtendedOption(_In_ IMAGEHLP_EXTENDED_OPTIONS option, _In_ BOOL value)
struct _SYMBOL_INFO SYMBOL_INFO
ULONG SizeOfStruct
Definition: compat.h:1217
DWORD MaxNameLength
Definition: compat.h:1348
struct _MINIDUMP_CALLBACK_INPUT * PMINIDUMP_CALLBACK_INPUT
DWORD SizeOfStruct
Definition: compat.h:954
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:757
BOOL WINAPI SymEnumSymbolsForAddrW(_In_ HANDLE, _In_ DWORD64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACKW, _In_opt_ PVOID)
VS_FIXEDFILEINFO VersionInfo
Definition: dbghelp.h:846
struct _MINIDUMP_INCLUDE_THREAD_CALLBACK * PMINIDUMP_INCLUDE_THREAD_CALLBACK
ULONG Scope
Definition: compat.h:1227
struct _IMAGE_DEBUG_INFORMATION * PIMAGE_DEBUG_INFORMATION
DWORD64 ModBase
Definition: compat.h:971
PIMAGEHLP_SYMBOL Symbol
Definition: dbghelp.h:517
KDHELP KdHelp
Definition: dbghelp.h:2192
ULONG64 ExceptionAddress
Definition: dbghelp.h:765
BOOL WINAPI SymGetSourceVarFromTokenW(_In_ HANDLE, _In_ PVOID, _In_opt_ PCWSTR, _In_ PCWSTR, _Out_writes_(Size) PWSTR, _In_ DWORD Size)
ULONG64 ModBase
Definition: compat.h:902
ULONG Index
Definition: compat.h:900
struct _MINIDUMP_MEMORY64_LIST * PMINIDUMP_MEMORY64_LIST
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:2221
BOOL IMAGEAPI SymSrvIsStoreW(_In_opt_ HANDLE hProcess, _In_ PCWSTR path)
ULONG ProcessKernelTime
Definition: dbghelp.h:836
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)
Definition: getopt.h:108
MINIDUMP_EXCEPTION ExceptionRecord
Definition: dbghelp.h:782
BOOL WINAPI SymEnumSymbolsForAddr(_In_ HANDLE, _In_ DWORD64, _In_ PSYM_ENUMERATESYMBOLS_CALLBACK, _In_opt_ PVOID)
DWORD NextCallback
Definition: dbghelp.h:2156
VS_FIXEDFILEINFO VersionInfo
Definition: compat.h:1168
#define _Out_
Definition: no_sal2.h:160
PCHAR FileName
Definition: compat.h:1305
struct _IMAGEHLP_LINEW * PIMAGEHLP_LINEW
LPAPI_VERSION WINAPI ImagehlpApiVersionEx(_In_ LPAPI_VERSION)
BOOL(WINAPI * PSYMBOLSERVERSETOPTIONSPROC)(UINT_PTR, ULONG64)
Definition: dbghelp.h:2365
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:1068
struct _MINIDUMP_SYSTEM_INFO::_CPU_INFORMATION::@2792 OtherCpuInfo
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:2363
_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:1415
DWORD Address
Definition: compat.h:1382
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:2368
PWSTR WINAPI SymSetHomeDirectoryW(_In_opt_ HANDLE, _In_opt_ PCWSTR)
DWORD SizeOfStruct
Definition: compat.h:1097
Definition: winnt_old.h:3465
BOOL WINAPI SymUnDName(_In_ PIMAGEHLP_SYMBOL, _Out_writes_(UnDecNameLength) PSTR, _In_ DWORD UnDecNameLength)
ULONG ThreadId
Definition: dbghelp.h:914
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)
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:1192
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:2463
_MODULE_WRITE_FLAGS
Definition: dbghelp.h:690
union _MINIDUMP_SYSTEM_INFO::@2788 DUMMYUNIONNAME1
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:214
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:926
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:1193
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
union _MINIDUMP_CALLBACK_INPUT::@353 DUMMYUNIONNAME
ADDRESS AddrBStore
Definition: dbghelp.h:2193
BOOL WINAPI SymGetTypeFromNameW(_In_ HANDLE, _In_ ULONG64, _In_ PCWSTR, _Inout_ PSYMBOL_INFOW)
MINIDUMP_LOCATION_DESCRIPTOR CvRecord
Definition: dbghelp.h:847
BOOL WINAPI SymRegisterFunctionEntryCallback(_In_ HANDLE, _In_ PSYMBOL_FUNCENTRY_CALLBACK, _In_opt_ PVOID)
DWORD SizeOfStruct
Definition: compat.h:1396
__wchar_t WCHAR
Definition: xmlstorage.h:180
BOOLEAN fReadOnly
Definition: dbghelp.h:113
DWORD TimeDateStamp
Definition: dbghelp.h:796
WCHAR LoadedImageName[256]
Definition: compat.h:1083
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:1785
DWORD64 BaseOfImage
Definition: compat.h:1098
PWSTR FileName
Definition: compat.h:1390
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:1334
DWORD LineNumber
Definition: compat.h:974
struct _MINIDUMP_EXCEPTION_INFORMATION * PMINIDUMP_EXCEPTION_INFORMATION
DWORD64 Offset
Definition: compat.h:1033
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:34
struct API_VERSION * LPAPI_VERSION
struct _MINIDUMP_MISC_INFO MINIDUMP_MISC_INFO
#define WINAPI
Definition: msvc.h:6
DWORD BaseOfImage
Definition: compat.h:1062
DWORD SystemRangeStart
Definition: dbghelp.h:2160
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:1358
ADDRESS64 AddrReturn
Definition: compat.h:1261
#define _Outptr_result_maybenull_
Definition: no_sal2.h:266
unsigned short WORD
Definition: ntddk_ex.h:93
WCHAR ImageName[256]
Definition: compat.h:936
PVOID HANDLE
Definition: typedefs.h:73
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD ThCallbackStack
Definition: dbghelp.h:2155
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:1074
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:1248
#define _Inout_
Definition: no_sal2.h:162
struct _MINIDUMP_HEADER MINIDUMP_HEADER
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:1054
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 IMAGEHLP_DEFERRED_SYMBOL_LOAD64
_MINIDUMP_TYPE
Definition: compat.h:1123
PVOID FuncTableEntry
Definition: compat.h:1265
struct _IMAGEHLP_LINE IMAGEHLP_LINE
ULONG64 Value
Definition: compat.h:1224
SYM_TYPE SymType
Definition: compat.h:1080
DWORD SizeOfStruct
Definition: compat.h:969
Definition: dbghelp.h:170
struct _tagADDRESS64 ADDRESS64
DWORD ReservedNumberOfFunctionTableEntries
Definition: dbghelp.h:2295
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
BOOL WINAPI SymGetExtendedOption(_In_ IMAGEHLP_EXTENDED_OPTIONS option)
MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[1]
Definition: dbghelp.h:810
ULONG Index
Definition: compat.h:1220
unsigned char UCHAR
Definition: xmlstorage.h:181
WCHAR ModuleName[32]
Definition: compat.h:1081
ULONG64 InstructionOffset
Definition: compat.h:1235
BOOL IMAGEAPI SymSrvIsStore(_In_opt_ HANDLE hProcess, _In_ PCSTR path)
ADDRESS64 AddrStack
Definition: compat.h:1263
DWORD SizeOfStruct
Definition: compat.h:928
SYM_TYPE SymType
Definition: compat.h:934
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:975
struct _SRCCODEINFO * PSRCCODEINFO
ADDRESS AddrReturn
Definition: dbghelp.h:2184
BOOL WINAPI SymGetSourceFileW(_In_ HANDLE, _In_ ULONG64, _In_opt_ PCWSTR, _In_ PCWSTR, _Out_writes_(Size) PWSTR, _In_ DWORD Size)
ULONG Flags
Definition: compat.h:1223
BOOL(CALLBACK * PFIND_DEBUG_FILE_CALLBACK)(_In_ HANDLE, _In_ PCSTR, _In_ PVOID)
Definition: dbghelp.h:1854
struct _IMAGEHLP_CBA_READ_MEMORY * PIMAGEHLP_CBA_READ_MEMORY
DWORD Signature
Definition: dbghelp.h:788
ULONG SizeOfStruct
Definition: compat.h:897
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:264
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:2360
Definition: typedefs.h:119
struct _MINIDUMP_USER_STREAM_INFORMATION MINIDUMP_USER_STREAM_INFORMATION
DWORD64 SystemRangeStart
Definition: compat.h:1255
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:915
ULONG SizeOfImage
Definition: dbghelp.h:842
MINIDUMP_MEMORY_DESCRIPTOR64 MemoryRanges[1]
Definition: dbghelp.h:823
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:1065
struct _MINIDUMP_MODULE_CALLBACK * PMINIDUMP_MODULE_CALLBACK
ULONG CheckSum
Definition: dbghelp.h:843
ULONG Register
Definition: compat.h:906
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:2310
struct _MINIDUMP_MEMORY_LIST * PMINIDUMP_MEMORY_LIST
ULONG ProcessCreateTime
Definition: dbghelp.h:834
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:158
MINIDUMP_LOCATION_DESCRIPTOR ThreadContext
Definition: dbghelp.h:783
ULONG Priority
Definition: dbghelp.h:917
BOOL WINAPI SymEnumerateSymbolsW64(_In_ HANDLE, _In_ ULONG64, _In_ PSYM_ENUMSYMBOLS_CALLBACK64W, _In_opt_ PVOID)
MINIDUMP_MEMORY_DESCRIPTOR Stack
Definition: dbghelp.h:919
BOOL WINAPI SymFromTokenW(_In_ HANDLE, _In_ DWORD64, _In_ DWORD, _Inout_ PSYMBOL_INFOW)
WORD Segment
Definition: compat.h:1055
DWORD LineNumber
Definition: compat.h:1389
USHORT Reserved
Definition: compat.h:1433
union _MINIDUMP_SYSTEM_INFO::@2787 DUMMYUNIONNAME
BOOL(CALLBACK * PSYM_ENUMSOURCEFILES_CALLBACK)(_In_ PSOURCEFILE, _In_opt_ PVOID)
Definition: dbghelp.h:1609
BOOL(CALLBACK * PSYMBOL_REGISTERED_CALLBACK64)(_In_ HANDLE, _In_ ULONG, _In_opt_ ULONG64, _In_opt_ ULONG64)
Definition: dbghelp.h:1461
struct _MINIDUMP_MODULE * PMINIDUMP_MODULE
USHORT ProcessorRevision
Definition: dbghelp.h:869
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:67
DWORD NextCallback
Definition: compat.h:1251
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:1218
struct _STACKFRAME STACKFRAME
struct _MINIDUMP_STRING MINIDUMP_STRING
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE)(_In_ HANDLE, _In_ DWORD)
Definition: dbghelp.h:2445
unsigned short USHORT
Definition: pedump.c:61
BOOL WINAPI SymGetLineFromAddrW(_In_ HANDLE, _In_ DWORD, _Out_ PDWORD, _Out_ PIMAGEHLP_LINEW)
DWORD LineNumber
Definition: compat.h:956
RVA StreamDirectoryRva
Definition: dbghelp.h:791
_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)
ULONG64 NumberOfMemoryRanges
Definition: dbghelp.h:821
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 *)
signed char * PSTR
Definition: retypes.h:7
CHAR CVData[MAX_PATH *3]
Definition: compat.h:1109
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:931
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:2483
PSTR ModuleName
Definition: dbghelp.h:99
UINT_PTR(WINAPI * PSYMBOLSERVERGETOPTIONSPROC)(void)
Definition: dbghelp.h:2367
WCHAR CVData[MAX_PATH *3]
Definition: compat.h:940
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:1077
ADDRESS64 AddrPC
Definition: compat.h:1260
USHORT ReservedCharacteristics
Definition: dbghelp.h:2287
BOOL WINAPI SymGetSymPrevW(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOLW)
struct _IMAGEHLP_CBA_EVENT IMAGEHLP_CBA_EVENT
VOID * PIMAGEHLP_CONTEXT
Definition: dbghelp.h:579
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:938
DWORD * PDWORD
Definition: pedump.c:68
ULONG64 RVA64
Definition: dbghelp.h:602
ULONG64 ExceptionRecord
Definition: dbghelp.h:764
DWORD ReservedOriginalFunctionTableBaseAddress
Definition: dbghelp.h:2312
ADDRESS AddrFrame
Definition: dbghelp.h:2185
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:1226
CHAR ImageName[256]
Definition: compat.h:1105
struct _SYMBOL_INFO_PACKAGE SYMBOL_INFO_PACKAGE
ULONG64 Value
Definition: compat.h:904
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:38
BOOL WINAPI SymGetSymPrev64(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOL64)
struct _MINIDUMP_STRING * PMINIDUMP_STRING
union _MINIDUMP_HEADER::@2786 DUMMYUNIONNAME
DWORD RVA
Definition: compat.h:1121
ULONG TimeDateStamp
Definition: dbghelp.h:844
BOOL WINAPI SymGetSymNextW(_In_ HANDLE, _Inout_ PIMAGEHLP_SYMBOLW)
BOOL WINAPI SymCleanup(_In_ HANDLE)
PWSTR FileName
Definition: compat.h:1310
struct _MINIDUMP_SYSTEM_INFO * PMINIDUMP_SYSTEM_INFO
BOOL(CALLBACK * PENUMDIRTREE_CALLBACKW)(_In_ PCWSTR, _In_opt_ PVOID)
Definition: dbghelp.h:2070
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:2190
BOOL WINAPI SymMatchStringA(_In_ PCSTR, _In_ PCSTR, _In_ BOOL)
struct _IMAGEHLP_SYMBOL64 IMAGEHLP_SYMBOL64