VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/imagehlp.h@ 85805

Last change on this file since 85805 was 53206, checked in by vboxsync, 10 years ago

Devices/vmsvga: header fixes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 38.1 KB
Line 
1/*
2 * Declarations for IMAGEHLP
3 *
4 * Copyright (C) 1998 Patrik Stridvall
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/*
22 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
23 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
24 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
25 * a choice of LGPL license versions is made available with the language indicating
26 * that LGPLv2 or any later version may be used, or where a choice of which version
27 * of the LGPL is applied is otherwise unspecified.
28 */
29
30#ifndef __WINE_IMAGEHLP_H
31#define __WINE_IMAGEHLP_H
32
33#include <wintrust.h>
34
35/* A set of documentation macros (see also dbghelp.h) */
36#ifndef __deref_out
37# define __deref_out
38#endif
39#ifndef __deref_out_opt
40# define __deref_out_opt
41#endif
42#ifndef __deref_opt_out
43# define __deref_opt_out
44#endif
45#ifndef __in
46# define __in
47#endif
48#ifndef __in_opt
49# define __in_opt
50#endif
51#ifndef __in_bcount
52# define __in_bcount(x)
53#endif
54#ifndef __in_bcount_opt
55# define __in_bcount_opt(x)
56#endif
57#ifndef __in_ecount
58# define __in_ecount(x)
59#endif
60#ifndef __inout
61# define __inout
62#endif
63#ifndef __inout_opt
64# define __inout_opt
65#endif
66#ifndef __inout_bcount
67# define __inout_bcount(x)
68#endif
69#ifndef __inout_ecount
70# define __inout_ecount(x)
71#endif
72#ifndef __out
73# define __out
74#endif
75#ifndef __out_opt
76# define __out_opt
77#endif
78#ifndef __out_bcount
79# define __out_bcount(x)
80#endif
81#ifndef __out_bcount_opt
82# define __out_bcount_opt(x)
83#endif
84#ifndef __out_ecount
85# define __out_ecount(x)
86#endif
87#ifndef __out_ecount_opt
88# define __out_ecount_opt(x)
89#endif
90#ifndef __out_xcount
91# define __out_xcount(x)
92#endif
93
94
95#ifdef __cplusplus
96extern "C" {
97#endif /* defined(__cplusplus) */
98
99#define IMAGEAPI WINAPI
100#define DBHLPAPI IMAGEAPI
101
102#define API_VERSION_NUMBER 7 /* 7 is the default */
103
104/***********************************************************************
105 * Types
106 */
107
108typedef PVOID DIGEST_HANDLE;
109
110/***********************************************************************
111 * Enums/Defines
112 */
113
114typedef enum _IMAGEHLP_STATUS_REASON {
115 BindOutOfMemory,
116 BindRvaToVaFailed,
117 BindNoRoomInImage,
118 BindImportModuleFailed,
119 BindImportProcedureFailed,
120 BindImportModule,
121 BindImportProcedure,
122 BindForwarder,
123 BindForwarderNOT,
124 BindImageModified,
125 BindExpandFileHeaders,
126 BindImageComplete,
127 BindMismatchedSymbols,
128 BindSymbolsNotUpdated
129} IMAGEHLP_STATUS_REASON;
130
131#define BIND_NO_BOUND_IMPORTS 0x00000001
132#define BIND_NO_UPDATE 0x00000002
133#define BIND_ALL_IMAGES 0x00000004
134#define BIND_CACHE_IMPORT_DLLS 0x00000008
135
136#define CERT_PE_IMAGE_DIGEST_DEBUG_INFO 0x01
137#define CERT_PE_IMAGE_DIGEST_RESOURCES 0x02
138#define CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO 0x04
139#define CERT_PE_IMAGE_DIGEST_NON_PE_INFO 0x08
140
141#define CERT_SECTION_TYPE_ANY 0xFF
142
143#define SPLITSYM_REMOVE_PRIVATE 0x00000001
144#define SPLITSYM_EXTRACT_ALL 0x00000002
145#define SPLITSYM_SYMBOLPATH_IS_SRC 0x00000004
146
147#define FRAME_FPO 0
148#define FRAME_TRAP 1
149#define FRAME_TSS 2
150#define FRAME_NONFPO 3
151
152#define CHECKSUM_SUCCESS 0
153#define CHECKSUM_OPEN_FAILURE 1
154#define CHECKSUM_MAP_FAILURE 2
155#define CHECKSUM_MAPVIEW_FAILURE 3
156#define CHECKSUM_UNICODE_FAILURE 4
157
158typedef enum _ADDRESS_MODE {
159 AddrMode1616,
160 AddrMode1632,
161 AddrModeReal,
162 AddrModeFlat
163} ADDRESS_MODE;
164
165#define SYMOPT_CASE_INSENSITIVE 0x00000001
166#define SYMOPT_UNDNAME 0x00000002
167#define SYMOPT_DEFERRED_LOADS 0x00000004
168#define SYMOPT_NO_CPP 0x00000008
169#define SYMOPT_LOAD_LINES 0x00000010
170#define SYMOPT_OMAP_FIND_NEAREST 0x00000020
171
172#define SYMF_OMAP_GENERATED 0x00000001
173#define SYMF_OMAP_MODIFIED 0x00000002
174/* 0x00000004 has been obsoleted */
175#define SYMF_REGISTER 0x00000008
176#define SYMF_REGREL 0x00000010
177#define SYMF_FRAMEREL 0x00000020
178#define SYMF_PARAMETER 0x00000040
179#define SYMF_LOCAL 0x00000080
180#define SYMF_CONSTANT 0x00000100
181#define SYMF_EXPORT 0x00000200
182#define SYMF_FORWARDER 0x00000400
183#define SYMF_FUNCTION 0x00000800
184
185typedef enum {
186 SymNone,
187 SymCoff,
188 SymCv,
189 SymPdb,
190 SymExport,
191 SymDeferred,
192 SymSym,
193 SymDia,
194 SymVirtual,
195 NumSymTypes
196} SYM_TYPE;
197
198#define UNDNAME_COMPLETE 0x0000
199#define UNDNAME_NO_LEADING_UNDERSCORES 0x0001
200#define UNDNAME_NO_MS_KEYWORDS 0x0002
201#define UNDNAME_NO_FUNCTION_RETURNS 0x0004
202#define UNDNAME_NO_ALLOCATION_MODEL 0x0008
203#define UNDNAME_NO_ALLOCATION_LANGUAGE 0x0010
204#define UNDNAME_NO_MS_THISTYPE 0x0020
205#define UNDNAME_NO_CV_THISTYPE 0x0040
206#define UNDNAME_NO_THISTYPE 0x0060
207#define UNDNAME_NO_ACCESS_SPECIFIERS 0x0080
208#define UNDNAME_NO_THROW_SIGNATURES 0x0100
209#define UNDNAME_NO_MEMBER_TYPE 0x0200
210#define UNDNAME_NO_RETURN_UDT_MODEL 0x0400
211#define UNDNAME_32_BIT_DECODE 0x0800
212#define UNDNAME_NAME_ONLY 0x1000
213#define UNDNAME_NO_ARGUMENTS 0x2000
214#define UNDNAME_NO_SPECIAL_SYMS 0x4000
215
216#define CBA_DEFERRED_SYMBOL_LOAD_START 0x00000001
217#define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 0x00000002
218#define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 0x00000003
219#define CBA_SYMBOLS_UNLOADED 0x00000004
220#define CBA_DUPLICATE_SYMBOL 0x00000005
221
222/***********************************************************************
223 * Structures
224 */
225
226typedef struct _LOADED_IMAGE
227{
228 PSTR ModuleName;
229 HANDLE hFile;
230 PUCHAR MappedAddress;
231 PIMAGE_NT_HEADERS FileHeader;
232 PIMAGE_SECTION_HEADER LastRvaSection;
233 ULONG NumberOfSections;
234 PIMAGE_SECTION_HEADER Sections;
235 ULONG Characteristics;
236 BOOLEAN fSystemImage;
237 BOOLEAN fDOSImage;
238 BOOLEAN fReadOnly;
239 UCHAR Version;
240 LIST_ENTRY Links;
241 ULONG SizeOfImage;
242} LOADED_IMAGE, *PLOADED_IMAGE;
243
244typedef struct _API_VERSION {
245 USHORT MajorVersion;
246 USHORT MinorVersion;
247 USHORT Revision;
248 USHORT Reserved;
249} API_VERSION, *LPAPI_VERSION;
250
251typedef struct _IMAGE_DEBUG_INFORMATION {
252 LIST_ENTRY List;
253 DWORD Size;
254 PVOID MappedBase;
255 USHORT Machine;
256 USHORT Characteristics;
257 DWORD CheckSum;
258 DWORD ImageBase;
259 DWORD SizeOfImage;
260
261 DWORD NumberOfSections;
262 PIMAGE_SECTION_HEADER Sections;
263
264 DWORD ExportedNamesSize;
265 PSTR ExportedNames;
266
267 DWORD NumberOfFunctionTableEntries;
268 PIMAGE_FUNCTION_ENTRY FunctionTableEntries;
269 DWORD LowestFunctionStartingAddress;
270 DWORD HighestFunctionEndingAddress;
271
272 DWORD NumberOfFpoTableEntries;
273 PFPO_DATA FpoTableEntries;
274
275 DWORD SizeOfCoffSymbols;
276 PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols;
277
278 DWORD SizeOfCodeViewSymbols;
279 PVOID CodeViewSymbols;
280
281 PSTR ImageFilePath;
282 PSTR ImageFileName;
283 PSTR DebugFilePath;
284
285 DWORD TimeDateStamp;
286
287 BOOL RomImage;
288 PIMAGE_DEBUG_DIRECTORY DebugDirectory;
289 DWORD NumberOfDebugDirectories;
290
291 DWORD Reserved[3];
292} IMAGE_DEBUG_INFORMATION, *PIMAGE_DEBUG_INFORMATION;
293
294typedef struct _ADDRESS {
295 DWORD Offset;
296 WORD Segment;
297 ADDRESS_MODE Mode;
298} ADDRESS, *LPADDRESS;
299
300typedef struct _ADDRESS64 {
301 DWORD64 Offset;
302 WORD Segment;
303 ADDRESS_MODE Mode;
304} ADDRESS64, *LPADDRESS64;
305
306typedef struct _KDHELP {
307 DWORD Thread;
308 DWORD ThCallbackStack;
309 DWORD NextCallback;
310 DWORD FramePointer;
311 DWORD KiCallUserMode;
312 DWORD KeUserCallbackDispatcher;
313 DWORD SystemRangeStart;
314} KDHELP, *PKDHELP;
315
316typedef struct _KDHELP64 {
317 DWORD64 Thread;
318 DWORD ThCallbackStack;
319 DWORD ThCallbackBStore;
320 DWORD NextCallback;
321 DWORD FramePointer;
322 DWORD64 KiCallUserMode;
323 DWORD64 KeUserCallbackDispatcher;
324 DWORD64 SystemRangeStart;
325 DWORD64 Reserved[8];
326} KDHELP64, *PKDHELP64;
327
328typedef struct _STACKFRAME {
329 ADDRESS AddrPC;
330 ADDRESS AddrReturn;
331 ADDRESS AddrFrame;
332 ADDRESS AddrStack;
333 PVOID FuncTableEntry;
334 DWORD Params[4];
335 BOOL Far;
336 BOOL Virtual;
337 DWORD Reserved[3];
338 KDHELP KdHelp;
339} STACKFRAME, *LPSTACKFRAME;
340
341typedef struct _STACKFRAME64 {
342 ADDRESS64 AddrPC;
343 ADDRESS64 AddrReturn;
344 ADDRESS64 AddrFrame;
345 ADDRESS64 AddrStack;
346 ADDRESS64 AddrBStore;
347 PVOID FuncTableEntry;
348 DWORD64 Params[4];
349 BOOL Far;
350 BOOL Virtual;
351 DWORD64 Reserved[3];
352 KDHELP64 KdHelp;
353} STACKFRAME64, *LPSTACKFRAME64;
354
355typedef struct _SOURCEFILE {
356 DWORD64 ModBase;
357 PCHAR FileName;
358} SOURCEFILE, *PSOURCEFILE;
359
360typedef struct _SOURCEFILEW
361{
362 DWORD64 ModBase;
363 PWSTR FileName;
364} SOURCEFILEW, *PSOURCEFILEW;
365
366typedef struct _IMAGEHLP_STACK_FRAME
367{
368 DWORD InstructionOffset;
369 DWORD ReturnOffset;
370 DWORD FrameOffset;
371 DWORD StackOffset;
372 DWORD BackingStoreOffset;
373 DWORD FuncTableEntry;
374 DWORD Params[4];
375 DWORD Reserved[5];
376 DWORD Virtual;
377 DWORD Reserved2;
378} IMAGEHLP_STACK_FRAME, *PIMAGEHLP_STACK_FRAME;
379
380typedef VOID IMAGEHLP_CONTEXT, *PIMAGEHLP_CONTEXT;
381
382typedef struct _IMAGEHLP_SYMBOL {
383 DWORD SizeOfStruct;
384 DWORD Address;
385 DWORD Size;
386 DWORD Flags;
387 DWORD MaxNameLength;
388 CHAR Name[ANYSIZE_ARRAY];
389} IMAGEHLP_SYMBOL, *PIMAGEHLP_SYMBOL;
390
391typedef struct _IMAGEHLP_SYMBOLW {
392 DWORD SizeOfStruct;
393 DWORD Address;
394 DWORD Size;
395 DWORD Flags;
396 DWORD MaxNameLength;
397 WCHAR Name[ANYSIZE_ARRAY];
398} IMAGEHLP_SYMBOLW, *PIMAGEHLP_SYMBOLW;
399
400typedef struct _IMAGEHLP_SYMBOL64
401{
402 DWORD SizeOfStruct;
403 DWORD64 Address;
404 DWORD Size;
405 DWORD Flags;
406 DWORD MaxNameLength;
407 CHAR Name[1];
408} IMAGEHLP_SYMBOL64, *PIMAGEHLP_SYMBOL64;
409
410typedef struct _IMAGEHLP_SYMBOLW64
411{
412 DWORD SizeOfStruct;
413 DWORD64 Address;
414 DWORD Size;
415 DWORD Flags;
416 DWORD MaxNameLength;
417 WCHAR Name[1];
418} IMAGEHLP_SYMBOLW64, *PIMAGEHLP_SYMBOLW64;
419
420typedef struct _IMAGEHLP_MODULE {
421 DWORD SizeOfStruct;
422 DWORD BaseOfImage;
423 DWORD ImageSize;
424 DWORD TimeDateStamp;
425 DWORD CheckSum;
426 DWORD NumSyms;
427 SYM_TYPE SymType;
428 CHAR ModuleName[32];
429 CHAR ImageName[256];
430 CHAR LoadedImageName[256];
431} IMAGEHLP_MODULE, *PIMAGEHLP_MODULE;
432
433typedef struct _IMAGEHLP_MODULEW {
434 DWORD SizeOfStruct;
435 DWORD BaseOfImage;
436 DWORD ImageSize;
437 DWORD TimeDateStamp;
438 DWORD CheckSum;
439 DWORD NumSyms;
440 SYM_TYPE SymType;
441 WCHAR ModuleName[32];
442 WCHAR ImageName[256];
443 WCHAR LoadedImageName[256];
444} IMAGEHLP_MODULEW, *PIMAGEHLP_MODULEW;
445
446typedef struct _IMAGEHLP_MODULE64
447{
448 DWORD SizeOfStruct;
449 DWORD64 BaseOfImage;
450 DWORD ImageSize;
451 DWORD TimeDateStamp;
452 DWORD CheckSum;
453 DWORD NumSyms;
454 SYM_TYPE SymType;
455 CHAR ModuleName[32];
456 CHAR ImageName[256];
457 CHAR LoadedImageName[256];
458 CHAR LoadedPdbName[256];
459 DWORD CVSig;
460 CHAR CVData[MAX_PATH*3];
461 DWORD PdbSig;
462 GUID PdbSig70;
463 DWORD PdbAge;
464 BOOL PdbUnmatched;
465 BOOL DbgUnmatched;
466 BOOL LineNumbers;
467 BOOL GlobalSymbols;
468 BOOL TypeInfo;
469 BOOL SourceIndexed;
470 BOOL Publics;
471} IMAGEHLP_MODULE64, *PIMAGEHLP_MODULE64;
472
473typedef struct _IMAGEHLP_MODULEW64
474{
475 DWORD SizeOfStruct;
476 DWORD64 BaseOfImage;
477 DWORD ImageSize;
478 DWORD TimeDateStamp;
479 DWORD CheckSum;
480 DWORD NumSyms;
481 SYM_TYPE SymType;
482 WCHAR ModuleName[32];
483 WCHAR ImageName[256];
484 WCHAR LoadedImageName[256];
485 WCHAR LoadedPdbName[256];
486 DWORD CVSig;
487 WCHAR CVData[MAX_PATH*3];
488 DWORD PdbSig;
489 GUID PdbSig70;
490 DWORD PdbAge;
491 BOOL PdbUnmatched;
492 BOOL DbgUnmatched;
493 BOOL LineNumbers;
494 BOOL GlobalSymbols;
495 BOOL TypeInfo;
496 BOOL SourceIndexed;
497 BOOL Publics;
498} IMAGEHLP_MODULEW64, *PIMAGEHLP_MODULEW64;
499
500typedef struct _IMAGEHLP_LINE {
501 DWORD SizeOfStruct;
502 PVOID Key;
503 DWORD LineNumber;
504 PCHAR FileName;
505 DWORD Address;
506} IMAGEHLP_LINE, *PIMAGEHLP_LINE;
507
508typedef struct _IMAGEHLP_LINEW {
509 DWORD SizeOfStruct;
510 PVOID Key;
511 DWORD LineNumber;
512 PWSTR FileName;
513 DWORD Address;
514} IMAGEHLP_LINEW, *PIMAGEHLP_LINEW;
515
516typedef struct _IMAGEHLP_LINE64 {
517 DWORD SizeOfStruct;
518 PVOID Key;
519 DWORD LineNumber;
520 PCHAR FileName;
521 DWORD64 Address;
522} IMAGEHLP_LINE64, *PIMAGEHLP_LINE64;
523
524typedef struct _IMAGEHLP_LINEW64 {
525 DWORD SizeOfStruct;
526 PVOID Key;
527 DWORD LineNumber;
528 PWSTR FileName;
529 DWORD64 Address;
530} IMAGEHLP_LINEW64, *PIMAGEHLP_LINEW64;
531
532typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD {
533 DWORD SizeOfStruct;
534 DWORD BaseOfImage;
535 DWORD CheckSum;
536 DWORD TimeDateStamp;
537 CHAR FileName[MAX_PATH];
538 BOOLEAN Reparse;
539} IMAGEHLP_DEFERRED_SYMBOL_LOAD, *PIMAGEHLP_DEFERRED_SYMBOL_LOAD;
540
541typedef struct _IMAGEHLP_DUPLICATE_SYMBOL {
542 DWORD SizeOfStruct;
543 DWORD NumberOfDups;
544 PIMAGEHLP_SYMBOL Symbol;
545 ULONG SelectedSymbol;
546} IMAGEHLP_DUPLICATE_SYMBOL, *PIMAGEHLP_DUPLICATE_SYMBOL;
547
548typedef enum _IMAGEHLP_SYMBOL_TYPE_INFO
549{
550 TI_GET_SYMTAG,
551 TI_GET_SYMNAME,
552 TI_GET_LENGTH,
553 TI_GET_TYPE,
554 TI_GET_TYPEID,
555 TI_GET_BASETYPE,
556 TI_GET_ARRAYINDEXTYPEID,
557 TI_FINDCHILDREN,
558 TI_GET_DATAKIND,
559 TI_GET_ADDRESSOFFSET,
560 TI_GET_OFFSET,
561 TI_GET_VALUE,
562 TI_GET_COUNT,
563 TI_GET_CHILDRENCOUNT,
564 TI_GET_BITPOSITION,
565 TI_GET_VIRTUALBASECLASS,
566 TI_GET_VIRTUALTABLESHAPEID,
567 TI_GET_VIRTUALBASEPOINTEROFFSET,
568 TI_GET_CLASSPARENTID,
569 TI_GET_NESTED,
570 TI_GET_SYMINDEX,
571 TI_GET_LEXICALPARENT,
572 TI_GET_ADDRESS,
573 TI_GET_THISADJUST,
574 TI_GET_UDTKIND,
575 TI_IS_EQUIV_TO,
576 TI_GET_CALLING_CONVENTION,
577} IMAGEHLP_SYMBOL_TYPE_INFO;
578
579#define IMAGEHLP_GET_TYPE_INFO_UNCACHED 0x00000001
580#define IMAGEHLP_GET_TYPE_INFO_CHILDREN 0x00000002
581typedef struct _IMAGEHLP_GET_TYPE_INFO_PARAMS
582{
583 ULONG SizeOfStruct;
584 ULONG Flags;
585 ULONG NumIds;
586 PULONG TypeIds;
587 ULONG64 TagFilter;
588 ULONG NumReqs;
589 IMAGEHLP_SYMBOL_TYPE_INFO* ReqKinds;
590 PULONG_PTR ReqOffsets;
591 PULONG ReqSizes;
592 ULONG_PTR ReqStride;
593 ULONG_PTR BufferSize;
594 PVOID Buffer;
595 ULONG EntriesMatched;
596 ULONG EntriesFilled;
597 ULONG64 TagsFound;
598 ULONG64 AllReqsValid;
599 ULONG NumReqsValid;
600 PULONG64 ReqsValid;
601} IMAGEHLP_GET_TYPE_INFO_PARAMS, *PIMAGEHLP_GET_TYPE_INFO_PARAMS;
602
603#define IMAGEHLP_SYMBOL_INFO_VALUEPRESENT 1
604#define IMAGEHLP_SYMBOL_INFO_REGISTER SYMF_REGISTER
605#define IMAGEHLP_SYMBOL_INFO_REGRELATIVE SYMF_REGREL
606#define IMAGEHLP_SYMBOL_INFO_FRAMERELATIVE SYMF_FRAMEREL
607#define IMAGEHLP_SYMBOL_INFO_PARAMETER SYMF_PARAMETER
608#define IMAGEHLP_SYMBOL_INFO_LOCAL SYMF_LOCAL
609#define IMAGEHLP_SYMBOL_INFO_CONSTANT SYMF_CONSTANT
610#define IMAGEHLP_SYMBOL_FUNCTION SYMF_FUNCTION
611
612#define MAX_SYM_NAME 2000
613
614typedef struct _SYMBOL_INFO {
615 ULONG SizeOfStruct;
616 ULONG TypeIndex;
617 ULONG64 Reserved[2];
618 ULONG info;
619 ULONG Size;
620 ULONG64 ModBase;
621 ULONG Flags;
622 ULONG64 Value;
623 ULONG64 Address;
624 ULONG Register;
625 ULONG Scope;
626 ULONG Tag;
627 ULONG NameLen;
628 ULONG MaxNameLen;
629 CHAR Name[1];
630} SYMBOL_INFO, *PSYMBOL_INFO;
631
632typedef struct _SYMBOL_INFOW
633{
634 ULONG SizeOfStruct;
635 ULONG TypeIndex;
636 ULONG64 Reserved[2];
637 ULONG Index;
638 ULONG Size;
639 ULONG64 ModBase;
640 ULONG Flags;
641 ULONG64 Value;
642 ULONG64 Address;
643 ULONG Register;
644 ULONG Scope;
645 ULONG Tag;
646 ULONG NameLen;
647 ULONG MaxNameLen;
648 WCHAR Name[1];
649} SYMBOL_INFOW, *PSYMBOL_INFOW;
650
651typedef struct _SYMBOL_INFO_PACKAGE
652{
653 SYMBOL_INFO si;
654 CHAR name[MAX_SYM_NAME+1];
655} SYMBOL_INFO_PACKAGE, *PSYMBOL_INFO_PACKAGE;
656
657typedef struct _SYMBOL_INFO_PACKAGEW
658{
659 SYMBOL_INFOW si;
660 WCHAR name[MAX_SYM_NAME+1];
661} SYMBOL_INFO_PACKAGEW, *PSYMBOL_INFO_PACKAGEW;
662
663#define DBHHEADER_DEBUGDIRS 0x1
664typedef struct _MODLOAD_DATA
665{
666 DWORD ssize;
667 DWORD ssig;
668 PVOID data;
669 DWORD size;
670 DWORD flags;
671} MODLOAD_DATA, *PMODLOAD_DATA;
672
673typedef struct _SRCCODEINFO
674{
675 DWORD SizeOfStruct;
676 PVOID Key;
677 DWORD64 ModBase;
678 CHAR Obj[MAX_PATH+1];
679 CHAR FileName[MAX_PATH+1];
680 DWORD LineNumber;
681 DWORD64 Address;
682} SRCCODEINFO, *PSRCCODEINFO;
683
684typedef struct _SRCCODEINFOW
685{
686 DWORD SizeOfStruct;
687 PVOID Key;
688 DWORD64 ModBase;
689 WCHAR Obj[MAX_PATH+1];
690 WCHAR FileName[MAX_PATH+1];
691 DWORD LineNumber;
692 DWORD64 Address;
693} SRCCODEINFOW, *PSRCCODEINFOW;
694
695/***********************************************************************
696 * Callbacks
697 */
698
699typedef BOOL (CALLBACK *PENUMDIRTREE_CALLBACK)(
700 PCSTR, PVOID
701);
702typedef BOOL (CALLBACK *PENUMDIRTREE_CALLBACKW)(
703 PCWSTR, PVOID
704);
705
706typedef BOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACK)(
707 PCSTR ModuleName, ULONG ModuleBase, ULONG ModuleSize,
708 PVOID UserContext
709);
710typedef BOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACK64)(
711 PCSTR, DWORD64, ULONG, PVOID
712);
713typedef BOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACKW64)(
714 PCWSTR, DWORD64, ULONG, PVOID
715);
716
717typedef BOOL (CALLBACK *PFIND_DEBUG_FILE_CALLBACK)(
718 HANDLE, PCSTR, PVOID
719);
720typedef BOOL (CALLBACK *PFIND_DEBUG_FILE_CALLBACKW)(
721 HANDLE, PCWSTR, PVOID
722);
723
724typedef BOOL (CALLBACK *PFIND_EXE_FILE_CALLBACK)(
725 HANDLE, PCSTR, PVOID
726);
727typedef BOOL (CALLBACK *PFIND_EXE_FILE_CALLBACKW)(
728 HANDLE, PCWSTR, PVOID
729);
730
731typedef BOOL (CALLBACK *PFINDFILEINPATHCALLBACK)(
732 PCSTR, PVOID
733);
734typedef BOOL (CALLBACK *PFINDFILEINPATHCALLBACKW)(
735 PCWSTR, PVOID
736);
737
738typedef BOOL (CALLBACK *PIMAGEHLP_STATUS_ROUTINE)(
739 IMAGEHLP_STATUS_REASON Reason, PCSTR ImageName, PCSTR DllName,
740 ULONG_PTR Va, ULONG_PTR Parameter
741);
742typedef BOOL (CALLBACK *PIMAGEHLP_STATUS_ROUTINE32)(
743 IMAGEHLP_STATUS_REASON Reason, PCSTR ImageName, PCSTR DllName,
744 ULONG Va, ULONG_PTR Parameter
745);
746typedef BOOL (CALLBACK *PIMAGEHLP_STATUS_ROUTINE64)(
747 IMAGEHLP_STATUS_REASON Reason, PCSTR ImageName, PCSTR DllName,
748 ULONG64 Va, ULONG_PTR Parameter
749);
750
751typedef BOOL (CALLBACK *PSYM_ENUMERATESYMBOLS_CALLBACK)(
752 PSYMBOL_INFO pSymInfo, ULONG SymbolSize, PVOID UserContext
753);
754typedef BOOL (CALLBACK *PSYM_ENUMERATESYMBOLS_CALLBACKW)(
755 PSYMBOL_INFOW pSymInfo, ULONG SymbolSize, PVOID UserContext
756);
757
758typedef BOOL (CALLBACK* PSYM_ENUMLINES_CALLBACK)(
759 PSRCCODEINFO, PVOID
760);
761typedef BOOL (CALLBACK* PSYM_ENUMLINES_CALLBACKW)(
762 PSRCCODEINFOW, PVOID
763);
764
765typedef BOOL (CALLBACK *PSYM_ENUMSOURCEFILES_CALLBACK)(
766 PSOURCEFILE pSourceFile, PVOID UserContext
767);
768typedef BOOL (CALLBACK *PSYM_ENUMSOURCEFILES_CALLBACKW)(
769 PSOURCEFILEW pSourceFile, PVOID UserContext
770);
771
772typedef BOOL (CALLBACK *PSYM_ENUMMODULES_CALLBACK)(
773 PCSTR ModuleName, ULONG BaseOfDll, PVOID UserContext
774);
775typedef BOOL (CALLBACK *PSYM_ENUMMODULES_CALLBACK64)(
776 PCSTR, DWORD64, PVOID
777);
778typedef BOOL (CALLBACK *PSYM_ENUMMODULES_CALLBACKW64)(
779 PCWSTR, DWORD64, PVOID
780);
781
782typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK)(
783 PCSTR, ULONG, ULONG, PVOID
784);
785typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACKW)(
786 PCWSTR, ULONG, ULONG, PVOID
787);
788typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK64)(
789 PCSTR, DWORD64, ULONG, PVOID
790);
791typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK64W)(
792 PCWSTR, DWORD64, ULONG, PVOID
793);
794
795typedef PVOID (CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK)(
796 HANDLE, DWORD, PVOID
797);
798typedef PVOID (CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK64)(
799 HANDLE, ULONG64, ULONG64
800);
801
802typedef BOOL (CALLBACK *PSYMBOL_REGISTERED_CALLBACK)(
803 HANDLE hProcess, ULONG ActionCode, PVOID CallbackData,
804 PVOID UserContext
805);
806typedef BOOL (CALLBACK *PSYMBOL_REGISTERED_CALLBACK64)(
807 HANDLE, ULONG, ULONG64, ULONG64
808);
809
810typedef BOOL (CALLBACK *DIGEST_FUNCTION)(
811 DIGEST_HANDLE refdata, PBYTE pData, DWORD dwLength
812);
813
814typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE)(
815 HANDLE hProcess, DWORD lpBaseAddress, PVOID lpBuffer,
816 DWORD nSize, PDWORD lpNumberOfBytesRead
817);
818
819typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE64)(
820 HANDLE hProcess, DWORD64 lpBaseAddress, PVOID lpBuffer,
821 DWORD nSize, LPDWORD lpNumberOfBytesRead
822);
823
824typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE)(
825 HANDLE hProcess, DWORD AddrBase
826);
827
828typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE64)(
829 HANDLE hProcess, DWORD64 AddrBase
830);
831
832typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE)(
833 HANDLE hProcess, DWORD ReturnAddress);
834
835typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE64)(
836 HANDLE hProcess, DWORD64 ReturnAddress);
837
838typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE)(
839 HANDLE hProcess, HANDLE hThread, LPADDRESS lpaddr
840);
841
842typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE64)(
843 HANDLE hProcess, HANDLE hThread, LPADDRESS64 lpaddr
844);
845
846
847/***********************************************************************
848 * Functions
849 */
850
851BOOL WINAPI BindImage(
852 PCSTR ImageName, PCSTR DllPath, PCSTR SymbolPath
853);
854BOOL WINAPI BindImageEx(
855 DWORD Flags, PCSTR ImageName, PCSTR DllPath, PCSTR SymbolPath,
856 PIMAGEHLP_STATUS_ROUTINE StatusRoutine
857);
858PIMAGE_NT_HEADERS WINAPI CheckSumMappedFile(
859 LPVOID BaseAddress, DWORD FileLength,
860 LPDWORD HeaderSum, LPDWORD CheckSum
861);
862BOOL WINAPI EnumDirTree(
863 HANDLE, PCSTR, PCSTR, PSTR, PENUMDIRTREE_CALLBACK, PVOID
864);
865BOOL WINAPI EnumDirTreeW(
866 HANDLE, PCWSTR, PCWSTR, PWSTR, PENUMDIRTREE_CALLBACKW, PVOID
867);
868BOOL WINAPI EnumerateLoadedModules(
869 HANDLE hProcess,
870 PENUMLOADED_MODULES_CALLBACK EnumLoadedModulesCallback,
871 PVOID UserContext
872);
873BOOL WINAPI EnumerateLoadedModules64(
874 HANDLE, PENUMLOADED_MODULES_CALLBACK64, PVOID
875);
876BOOL WINAPI EnumerateLoadedModulesW64(
877 HANDLE, PENUMLOADED_MODULES_CALLBACKW64, PVOID
878);
879HANDLE WINAPI FindDebugInfoFile(
880 PCSTR FileName, PCSTR SymbolPath, PSTR DebugFilePath
881);
882HANDLE WINAPI FindDebugInfoFileEx(
883 PCSTR, PCSTR, PSTR, PFIND_DEBUG_FILE_CALLBACK, PVOID
884);
885HANDLE WINAPI FindDebugInfoFileExW(
886 PCWSTR, PCWSTR, PWSTR, PFIND_DEBUG_FILE_CALLBACKW, PVOID
887);
888HANDLE WINAPI FindExecutableImage(
889 PCSTR, PCSTR, PSTR
890);
891HANDLE WINAPI FindExecutableImageEx(
892 PCSTR, PCSTR, PSTR, PFIND_EXE_FILE_CALLBACK, PVOID
893);
894HANDLE WINAPI FindExecutableImageExW(
895 PCWSTR, PCWSTR, PWSTR, PFIND_EXE_FILE_CALLBACKW, PVOID
896);
897BOOL WINAPI FindFileInPath(
898 HANDLE, PCSTR, PCSTR, PVOID, DWORD, DWORD, DWORD,
899 PSTR, PFINDFILEINPATHCALLBACK, PVOID
900);
901BOOL WINAPI GetImageConfigInformation(
902 PLOADED_IMAGE LoadedImage,
903 PIMAGE_LOAD_CONFIG_DIRECTORY ImageConfigInformation
904);
905DWORD WINAPI GetImageUnusedHeaderBytes(
906 PLOADED_IMAGE LoadedImage,
907 LPDWORD SizeUnusedHeaderBytes
908);
909DWORD WINAPI GetTimestampForLoadedLibrary(
910 HMODULE Module
911);
912BOOL WINAPI ImageAddCertificate(
913 HANDLE FileHandle, LPWIN_CERTIFICATE Certificate, PDWORD Index
914);
915PVOID WINAPI ImageDirectoryEntryToData(
916 PVOID Base, BOOLEAN MappedAsImage, USHORT DirectoryEntry, PULONG Size
917);
918BOOL WINAPI ImageEnumerateCertificates(
919 HANDLE FileHandle, WORD TypeFilter, PDWORD CertificateCount,
920 PDWORD Indices, DWORD IndexCount
921);
922BOOL WINAPI ImageGetCertificateData(
923 HANDLE FileHandle, DWORD CertificateIndex,
924 LPWIN_CERTIFICATE Certificate, PDWORD RequiredLength
925);
926BOOL WINAPI ImageGetCertificateHeader(
927 HANDLE FileHandle, DWORD CertificateIndex,
928 LPWIN_CERTIFICATE Certificateheader
929);
930BOOL WINAPI ImageGetDigestStream(
931 HANDLE FileHandle, DWORD DigestLevel,
932 DIGEST_FUNCTION DigestFunction, DIGEST_HANDLE DigestHandle
933);
934PLOADED_IMAGE WINAPI ImageLoad(
935 PCSTR DllName, PCSTR DllPath
936);
937PIMAGE_NT_HEADERS WINAPI ImageNtHeader(
938 PVOID Base
939);
940BOOL WINAPI ImageRemoveCertificate(
941 HANDLE FileHandle, DWORD Index
942);
943PIMAGE_SECTION_HEADER WINAPI ImageRvaToSection(
944 PIMAGE_NT_HEADERS NtHeaders, PVOID Base, ULONG Rva
945);
946PVOID WINAPI ImageRvaToVa(
947 PIMAGE_NT_HEADERS NtHeaders, PVOID Base, ULONG Rva,
948 PIMAGE_SECTION_HEADER *LastRvaSection
949);
950BOOL WINAPI ImageUnload(
951 PLOADED_IMAGE LoadedImage
952);
953LPAPI_VERSION WINAPI ImagehlpApiVersion(
954 void
955);
956LPAPI_VERSION WINAPI ImagehlpApiVersionEx(
957 LPAPI_VERSION AppVersion
958);
959BOOL WINAPI MakeSureDirectoryPathExists(
960 PCSTR DirPath
961);
962BOOL WINAPI MapAndLoad(
963 PCSTR ImageName, PCSTR DllPath, PLOADED_IMAGE LoadedImage,
964 BOOL DotDll, BOOL ReadOnly
965);
966PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(
967 HANDLE FileHandle, PCSTR FileName,
968 PCSTR SymbolPath, ULONG ImageBase
969);
970DWORD WINAPI MapFileAndCheckSumA(
971 PCSTR Filename, PDWORD HeaderSum, PDWORD CheckSum
972);
973DWORD WINAPI MapFileAndCheckSumW(
974 PCWSTR Filename, PDWORD HeaderSum, PDWORD CheckSum
975);
976BOOL WINAPI ReBaseImage(
977 PCSTR CurrentImageName, PCSTR SymbolPath, BOOL fReBase,
978 BOOL fRebaseSysfileOk, BOOL fGoingDown, ULONG CheckImageSize,
979 ULONG *OldImageSize, ULONG_PTR *OldImageBase, ULONG *NewImageSize,
980 ULONG_PTR *NewImageBase, ULONG TimeStamp
981);
982BOOL WINAPI ReBaseImage64(
983 PCSTR CurrentImageName, PCSTR SymbolPath, BOOL fReBase,
984 BOOL fRebaseSysfileOk, BOOL fGoingDown, ULONG CheckImageSize,
985 ULONG *OldImageSize, ULONG64 *OldImageBase, ULONG *NewImageSize,
986 ULONG64 *NewImageBase, ULONG TimeStamp
987);
988BOOL WINAPI RemovePrivateCvSymbolic(
989 PCHAR DebugData, PCHAR *NewDebugData, ULONG *NewDebugSize
990);
991BOOL WINAPI SearchTreeForFile(
992 PCSTR RootPath, PCSTR InputPathName, PSTR OutputPathBuffer
993);
994BOOL WINAPI SearchTreeForFileW(
995 PCWSTR RootPath, PCWSTR InputPathName, PWSTR OutputPathBuffer
996);
997BOOL WINAPI SetImageConfigInformation(
998 PLOADED_IMAGE LoadedImage,
999 PIMAGE_LOAD_CONFIG_DIRECTORY ImageConfigInformation
1000);
1001BOOL WINAPI SplitSymbols(
1002 PSTR ImageName, PCSTR SymbolsPath,
1003 PSTR SymbolFilePath, ULONG Flags
1004);
1005BOOL WINAPI StackWalk(
1006 DWORD MachineType, HANDLE hProcess, HANDLE hThread,
1007 LPSTACKFRAME StackFrame, PVOID ContextRecord,
1008 PREAD_PROCESS_MEMORY_ROUTINE ReadMemoryRoutine,
1009 PFUNCTION_TABLE_ACCESS_ROUTINE FunctionTableAccessRoutine,
1010 PGET_MODULE_BASE_ROUTINE GetModuleBaseRoutine,
1011 PTRANSLATE_ADDRESS_ROUTINE TranslateAddress
1012);
1013BOOL WINAPI StackWalk64(
1014 DWORD MachineType, HANDLE hProcess, HANDLE hThread,
1015 LPSTACKFRAME64 StackFrame, PVOID ContextRecord,
1016 PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine,
1017 PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine,
1018 PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine,
1019 PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress
1020);
1021BOOL WINAPI SymAddSymbol(
1022 HANDLE, ULONG64, PCSTR, DWORD64, DWORD, DWORD
1023);
1024BOOL WINAPI SymAddSymbolW(
1025 HANDLE, ULONG64, PCWSTR, DWORD64, DWORD, DWORD
1026);
1027BOOL WINAPI SymCleanup(
1028 HANDLE hProcess
1029);
1030BOOL WINAPI SymDeleteSymbol(
1031 HANDLE, ULONG64, PCSTR, DWORD64, DWORD
1032);
1033BOOL WINAPI SymDeleteSymbolW(
1034 HANDLE, ULONG64, PCWSTR, DWORD64, DWORD
1035);
1036BOOL WINAPI SymEnumerateModules(
1037 HANDLE hProcess, PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
1038 PVOID UserContext
1039);
1040BOOL WINAPI SymEnumerateModules64(
1041 HANDLE, PSYM_ENUMMODULES_CALLBACK64, PVOID
1042);
1043BOOL WINAPI SymEnumerateModulesW64(
1044 HANDLE, PSYM_ENUMMODULES_CALLBACKW64, PVOID
1045);
1046BOOL WINAPI SymEnumerateSymbols(
1047 HANDLE hProcess, DWORD BaseOfDll,
1048 PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback, PVOID UserContext
1049);
1050BOOL WINAPI SymEnumerateSymbolsW(
1051 HANDLE hProcess, DWORD BaseOfDll,
1052 PSYM_ENUMSYMBOLS_CALLBACKW EnumSymbolsCallback, PVOID UserContext
1053);
1054BOOL WINAPI SymEnumerateSymbols64(
1055 HANDLE, ULONG64, PSYM_ENUMSYMBOLS_CALLBACK64, PVOID
1056);
1057BOOL WINAPI SymEnumerateSymbolsW64(
1058 HANDLE, ULONG64, PSYM_ENUMSYMBOLS_CALLBACK64W, PVOID
1059);
1060BOOL WINAPI SymEnumLines(
1061 HANDLE, ULONG64, PCSTR, PCSTR, PSYM_ENUMLINES_CALLBACK, PVOID
1062);
1063BOOL WINAPI SymEnumLinesW(
1064 HANDLE, ULONG64, PCWSTR, PCWSTR, PSYM_ENUMLINES_CALLBACKW, PVOID
1065);
1066BOOL WINAPI SymEnumSourceFiles(
1067 HANDLE hProcess, ULONG64 ModBase, PCSTR Mask,
1068 PSYM_ENUMSOURCEFILES_CALLBACK cbSrcFiles, PVOID UserContext
1069);
1070BOOL WINAPI SymEnumSourceFilesW(
1071 HANDLE hProcess, ULONG64 ModBase, PCWSTR Mask,
1072 PSYM_ENUMSOURCEFILES_CALLBACKW cbSrcFiles, PVOID UserContext
1073);
1074BOOL WINAPI SymEnumSourceLines(
1075 HANDLE, ULONG64, PCSTR, PCSTR, DWORD, DWORD, PSYM_ENUMLINES_CALLBACK, PVOID
1076);
1077BOOL WINAPI SymEnumSourceLinesW(
1078 HANDLE, ULONG64, PCWSTR, PCWSTR, DWORD, DWORD, PSYM_ENUMLINES_CALLBACKW, PVOID
1079);
1080BOOL WINAPI SymEnumSymbols(
1081 HANDLE hProcess, DWORD BaseOfDll, PCSTR Mask,
1082 PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback, PVOID UserContext
1083);
1084BOOL WINAPI SymEnumSymbolsW(
1085 HANDLE hProcess, DWORD BaseOfDll, PCWSTR Mask,
1086 PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback, PVOID UserContext
1087);
1088BOOL WINAPI SymEnumSymbolsForAddr(
1089 HANDLE, DWORD64, PSYM_ENUMERATESYMBOLS_CALLBACK, PVOID
1090);
1091BOOL WINAPI SymEnumSymbolsForAddrW(
1092 HANDLE, DWORD64, PSYM_ENUMERATESYMBOLS_CALLBACKW, PVOID
1093);
1094BOOL WINAPI SymEnumTypes(
1095 HANDLE, ULONG64, PSYM_ENUMERATESYMBOLS_CALLBACK, PVOID
1096);
1097BOOL WINAPI SymEnumTypesW(
1098 HANDLE, ULONG64, PSYM_ENUMERATESYMBOLS_CALLBACKW, PVOID
1099);
1100HANDLE WINAPI SymFindExecutableImage(
1101 HANDLE, PCSTR, PSTR, PFIND_EXE_FILE_CALLBACK, PVOID
1102);
1103HANDLE WINAPI SymFindExecutableImageW(
1104 HANDLE, PCWSTR, PWSTR, PFIND_EXE_FILE_CALLBACKW, PVOID
1105);
1106BOOL WINAPI SymFindFileInPath(
1107 HANDLE, PCSTR, PCSTR, PVOID, DWORD, DWORD, DWORD,
1108 PSTR, PFINDFILEINPATHCALLBACK, PVOID
1109);
1110BOOL WINAPI SymFindFileInPathW(
1111 HANDLE, PCWSTR, PCWSTR, PVOID, DWORD, DWORD, DWORD,
1112 PWSTR, PFINDFILEINPATHCALLBACKW, PVOID
1113);
1114BOOL WINAPI SymFromAddr(
1115 HANDLE, DWORD64, DWORD64*, SYMBOL_INFO*
1116);
1117BOOL WINAPI SymFromAddrW(
1118 HANDLE, DWORD64, DWORD64*, SYMBOL_INFOW*
1119);
1120BOOL WINAPI SymFromIndex(
1121 HANDLE, ULONG64, DWORD, PSYMBOL_INFO
1122);
1123BOOL WINAPI SymFromIndexW(
1124 HANDLE, ULONG64, DWORD, PSYMBOL_INFOW
1125);
1126BOOL WINAPI SymFromName(
1127 HANDLE, PCSTR, PSYMBOL_INFO
1128);
1129BOOL WINAPI SymFromNameW(
1130 HANDLE, PCWSTR, PSYMBOL_INFOW
1131);
1132BOOL WINAPI SymFromToken(
1133 HANDLE, DWORD64, DWORD, PSYMBOL_INFO
1134);
1135BOOL WINAPI SymFromTokenW(
1136 HANDLE, DWORD64, DWORD, PSYMBOL_INFOW
1137);
1138PVOID WINAPI SymFunctionTableAccess(
1139 HANDLE hProcess, DWORD AddrBase
1140);
1141PVOID WINAPI SymFunctionTableAccess64(
1142 HANDLE hProcess, DWORD64 AddrBase
1143);
1144ULONG WINAPI SymGetFileLineOffsets64(
1145 HANDLE, PCSTR, PCSTR, PDWORD64, ULONG
1146);
1147PCHAR WINAPI SymGetHomeDirectory(
1148 DWORD, PSTR, size_t
1149);
1150PWSTR WINAPI SymGetHomeDirectoryW(
1151 DWORD, PWSTR, size_t
1152);
1153BOOL WINAPI SymGetLineFromAddr(
1154 HANDLE, DWORD, PDWORD, PIMAGEHLP_LINE
1155);
1156BOOL WINAPI SymGetLineFromAddrW(
1157 HANDLE, DWORD, PDWORD, PIMAGEHLP_LINEW
1158);
1159BOOL WINAPI SymGetLineFromAddr64(
1160 HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINE64
1161);
1162BOOL WINAPI SymGetLineFromAddrW64(
1163 HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINEW64
1164);
1165BOOL WINAPI SymGetLineFromName(
1166 HANDLE, PCSTR, PCSTR, DWORD, PLONG, PIMAGEHLP_LINE
1167);
1168BOOL WINAPI SymGetLineFromName64(
1169 HANDLE, PCSTR, PCSTR, DWORD, PLONG, PIMAGEHLP_LINE64
1170);
1171BOOL WINAPI SymGetLineFromNameW64(
1172 HANDLE, PCWSTR, PCWSTR, DWORD, PLONG, PIMAGEHLP_LINEW64
1173);
1174BOOL WINAPI SymGetLineNext(
1175 HANDLE, PIMAGEHLP_LINE
1176);
1177BOOL WINAPI SymGetLineNextW(
1178 HANDLE, PIMAGEHLP_LINEW
1179);
1180BOOL WINAPI SymGetLineNext64(
1181 HANDLE, PIMAGEHLP_LINE64
1182);
1183BOOL WINAPI SymGetLineNextW64(
1184 HANDLE, PIMAGEHLP_LINEW64
1185);
1186BOOL WINAPI SymGetLinePrev(
1187 HANDLE, PIMAGEHLP_LINE
1188);
1189BOOL WINAPI SymGetLinePrevW(
1190 HANDLE, PIMAGEHLP_LINEW
1191);
1192BOOL WINAPI SymGetLinePrev64(
1193 HANDLE, PIMAGEHLP_LINE64
1194);
1195BOOL WINAPI SymGetLinePrevW64(
1196 HANDLE, PIMAGEHLP_LINEW64
1197);
1198DWORD WINAPI SymGetModuleBase(
1199 HANDLE hProcess, DWORD dwAddr
1200);
1201BOOL WINAPI SymGetModuleInfo(
1202 HANDLE hProcess, DWORD dwAddr,
1203 PIMAGEHLP_MODULE ModuleInfo
1204);
1205BOOL WINAPI SymGetModuleInfoW(
1206 HANDLE, DWORD, PIMAGEHLP_MODULEW
1207);
1208BOOL WINAPI SymGetModuleInfo64(
1209 HANDLE, DWORD64, PIMAGEHLP_MODULE64
1210);
1211BOOL WINAPI SymGetModuleInfoW64(
1212 HANDLE, DWORD64, PIMAGEHLP_MODULEW64
1213);
1214DWORD WINAPI SymGetOptions(
1215 void
1216);
1217BOOL WINAPI SymGetScope(
1218 HANDLE, ULONG64, DWORD, PSYMBOL_INFO
1219);
1220BOOL WINAPI SymGetScopeW(
1221 HANDLE, ULONG64, DWORD, PSYMBOL_INFOW
1222);
1223BOOL WINAPI SymGetSearchPath(
1224 HANDLE hProcess, PSTR szSearchPath, DWORD SearchPathLength
1225);
1226BOOL WINAPI SymGetSearchPathW(
1227 HANDLE hProcess, PWSTR szSearchPath, DWORD SearchPathLength
1228);
1229BOOL WINAPI SymGetSourceFile(
1230 HANDLE, ULONG64, PCSTR, PCSTR, PSTR, DWORD
1231);
1232BOOL WINAPI SymGetSourceFileW(
1233 HANDLE, ULONG64, PCWSTR, PCWSTR, PWSTR, DWORD
1234);
1235BOOL WINAPI SymGetSourceFileFromToken(
1236 HANDLE, PVOID, PCSTR, PSTR, DWORD
1237);
1238BOOL WINAPI SymGetSourceFileFromTokenW(
1239 HANDLE, PVOID, PCWSTR, PWSTR, DWORD
1240);
1241BOOL WINAPI SymGetSourceFileToken(
1242 HANDLE, ULONG64, PCSTR, PVOID*, DWORD*
1243);
1244BOOL WINAPI SymGetSourceFileTokenW(
1245 HANDLE, ULONG64, PCWSTR, PVOID*, DWORD*
1246);
1247BOOL WINAPI SymGetSourceVarFromToken(
1248 HANDLE, PVOID, PCSTR, PCSTR, PSTR, DWORD
1249);
1250BOOL WINAPI SymGetSourceVarFromTokenW(
1251 HANDLE, PVOID, PCWSTR, PCWSTR, PWSTR, DWORD
1252);
1253BOOL WINAPI SymGetSymFromAddr(
1254 HANDLE hProcess, DWORD dwAddr,
1255 PDWORD pdwDisplacement, PIMAGEHLP_SYMBOL Symbol
1256);
1257BOOL WINAPI SymGetSymFromAddr64(
1258 HANDLE, DWORD64, PDWORD64, PIMAGEHLP_SYMBOL64
1259);
1260BOOL WINAPI SymGetSymFromName(
1261 HANDLE hProcess, PCSTR Name, PIMAGEHLP_SYMBOL Symbol
1262);
1263BOOL WINAPI SymGetSymFromName64(
1264 HANDLE, PCSTR, PIMAGEHLP_SYMBOL64
1265);
1266BOOL WINAPI SymGetSymNext(
1267 HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol
1268);
1269BOOL WINAPI SymGetSymNext64(
1270 HANDLE, PIMAGEHLP_SYMBOL64
1271);
1272BOOL WINAPI SymGetSymPrev(
1273 HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol
1274);
1275BOOL WINAPI SymGetSymPrev64(
1276 HANDLE, PIMAGEHLP_SYMBOL64
1277);
1278BOOL WINAPI SymGetTypeFromName(
1279 HANDLE, ULONG64, PCSTR, PSYMBOL_INFO
1280);
1281BOOL WINAPI SymGetTypeFromNameW(
1282 HANDLE, ULONG64, PCWSTR, PSYMBOL_INFOW
1283);
1284BOOL WINAPI SymGetTypeInfo(
1285 HANDLE, DWORD64, ULONG, IMAGEHLP_SYMBOL_TYPE_INFO, PVOID
1286);
1287BOOL WINAPI SymGetTypeInfoEx(
1288 HANDLE, DWORD64, PIMAGEHLP_GET_TYPE_INFO_PARAMS
1289);
1290BOOL WINAPI SymInitialize(
1291 HANDLE hProcess, PCSTR UserSearchPath, BOOL fInvadeProcess
1292);
1293BOOL WINAPI SymInitializeW(
1294 HANDLE hProcess, PCWSTR UserSearchPath, BOOL fInvadeProcess
1295);
1296DWORD WINAPI SymLoadModule(
1297 HANDLE hProcess, HANDLE hFile, PCSTR ImageName, PCSTR ModuleName,
1298 DWORD BaseOfDll, DWORD SizeOfDll
1299);
1300DWORD64 WINAPI SymLoadModule64(
1301 HANDLE, HANDLE, PCSTR, PCSTR, DWORD64, DWORD
1302);
1303DWORD64 WINAPI SymLoadModuleEx(
1304 HANDLE, HANDLE, PCSTR, PCSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD
1305);
1306DWORD64 WINAPI SymLoadModuleExW(
1307 HANDLE, HANDLE, PCWSTR, PCWSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD
1308);
1309BOOL WINAPI SymMatchFileName(
1310 PCSTR, PCSTR, PSTR*, PSTR*
1311);
1312BOOL WINAPI SymMatchFileNameW(
1313 PCWSTR, PCWSTR, PWSTR*, PWSTR*
1314);
1315BOOL WINAPI SymMatchString(
1316 PCSTR, PCSTR, BOOL
1317);
1318BOOL WINAPI SymMatchStringA(
1319 PCSTR, PCSTR, BOOL
1320);
1321BOOL WINAPI SymMatchStringW(
1322 PCWSTR, PCWSTR, BOOL
1323);
1324BOOL WINAPI SymRegisterCallback(
1325 HANDLE hProcess, PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
1326 PVOID UserContext
1327);
1328BOOL WINAPI SymRegisterCallback64(
1329 HANDLE, PSYMBOL_REGISTERED_CALLBACK64, ULONG64
1330);
1331BOOL WINAPI SymRegisterCallbackW64(
1332 HANDLE, PSYMBOL_REGISTERED_CALLBACK64, ULONG64
1333);
1334BOOL WINAPI SymRegisterFunctionEntryCallback(
1335 HANDLE, PSYMBOL_FUNCENTRY_CALLBACK, PVOID
1336);
1337BOOL WINAPI SymRegisterFunctionEntryCallback64(
1338 HANDLE, PSYMBOL_FUNCENTRY_CALLBACK64, ULONG64
1339);
1340BOOL WINAPI SymSearch(
1341 HANDLE, ULONG64, DWORD, DWORD, PCSTR, DWORD64,
1342 PSYM_ENUMERATESYMBOLS_CALLBACK, PVOID, DWORD
1343);
1344BOOL WINAPI SymSearchW(
1345 HANDLE, ULONG64, DWORD, DWORD, PCWSTR, DWORD64,
1346 PSYM_ENUMERATESYMBOLS_CALLBACKW, PVOID, DWORD
1347);
1348DWORD WINAPI SymSetContext(
1349 HANDLE hProcess, PIMAGEHLP_STACK_FRAME StackFrame,
1350 PIMAGEHLP_CONTEXT Context
1351);
1352PCHAR WINAPI SymSetHomeDirectory(
1353 HANDLE, PCSTR
1354);
1355PWSTR WINAPI SymSetHomeDirectoryW(
1356 HANDLE, PCWSTR
1357);
1358DWORD WINAPI SymSetOptions(
1359 DWORD SymOptions
1360);
1361BOOL WINAPI SymSetParentWindow(
1362 HWND
1363);
1364BOOL WINAPI SymSetSearchPath(
1365 HANDLE hProcess, PCSTR szSearchPath
1366);
1367BOOL WINAPI SymSetSearchPathW(
1368 HANDLE hProcess, PCWSTR szSearchPath
1369);
1370BOOL WINAPI SymUnDName(
1371 PIMAGEHLP_SYMBOL sym, PSTR UnDecName, DWORD UnDecNameLength
1372);
1373BOOL WINAPI SymUnDName64(
1374 PIMAGEHLP_SYMBOL64, PSTR, DWORD
1375);
1376BOOL WINAPI SymUnloadModule(
1377 HANDLE hProcess, DWORD BaseOfDll
1378);
1379BOOL WINAPI TouchFileTimes(
1380 HANDLE FileHandle, LPSYSTEMTIME lpSystemTime
1381);
1382DWORD WINAPI UnDecorateSymbolName(
1383 PCSTR DecoratedName, PSTR UnDecoratedName,
1384 DWORD UndecoratedLength, DWORD Flags
1385);
1386DWORD WINAPI UnDecorateSymbolNameW(
1387 PCWSTR DecoratedName, PWSTR UnDecoratedName,
1388 DWORD UndecoratedLength, DWORD Flags
1389);
1390BOOL WINAPI UnMapAndLoad(
1391 PLOADED_IMAGE LoadedImage
1392);
1393BOOL WINAPI UnmapDebugInformation(
1394 PIMAGE_DEBUG_INFORMATION DebugInfo
1395);
1396BOOL WINAPI UpdateDebugInfoFile(
1397 PCSTR ImageFileName, PCSTR SymbolPath,
1398 PSTR DebugFilePath, PIMAGE_NT_HEADERS32 NtHeaders
1399);
1400BOOL WINAPI UpdateDebugInfoFileEx(
1401 PCSTR ImageFileName, PCSTR SymbolPath, PSTR DebugFilePath,
1402 PIMAGE_NT_HEADERS32 NtHeaders, DWORD OldChecksum
1403);
1404
1405#ifdef __cplusplus
1406} /* extern "C" */
1407#endif /* defined(__cplusplus) */
1408
1409#endif /* __WINE_IMAGEHLP_H */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette