VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/imagehlp.h@ 33282

Last change on this file since 33282 was 16477, checked in by vboxsync, 16 years ago

LGPL disclaimer by filemuncher

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

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