1 //----------------------------------------------------------------------------
2 //
3 // Debugger engine interfaces.
4 //
5 // Copyright (c) Microsoft Corporation. All rights reserved.
6 //
7 //----------------------------------------------------------------------------
8
9 #ifndef __DBGENG_H__
10 #define __DBGENG_H__
11
12 #include <stdarg.h>
13 #include <objbase.h>
14
15 #ifndef _WDBGEXTS_
16 typedef struct _WINDBG_EXTENSION_APIS32* PWINDBG_EXTENSION_APIS32;
17 typedef struct _WINDBG_EXTENSION_APIS64* PWINDBG_EXTENSION_APIS64;
18 #endif
19
20 #ifndef _CRASHLIB_
21 typedef struct _MEMORY_BASIC_INFORMATION64* PMEMORY_BASIC_INFORMATION64;
22 #endif
23
24 #ifndef __specstrings
25 // Should include SpecStrings.h to get proper definitions.
26 #define __in
27 #define __in_opt
28 #define __in_bcount(x)
29 #define __in_bcount_opt(x)
30 #define __in_ecount(x)
31 #define __in_ecount_opt(x)
32 #define __out
33 #define __out_opt
34 #define __out_bcount(x)
35 #define __out_bcount_opt(x)
36 #define __out_ecount(x)
37 #define __out_ecount_opt(x)
38 #define __out_xcount(x)
39 #define __inout
40 #define __inout_opt
41 #define __reserved
42 #endif
43
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47
48 //----------------------------------------------------------------------------
49 //
50 // GUIDs and interface forward declarations.
51 //
52 //----------------------------------------------------------------------------
53
54 /* f2df5f53-071f-47bd-9de6-5734c3fed689 */
55 DEFINE_GUID(IID_IDebugAdvanced, 0xf2df5f53, 0x071f, 0x47bd,
56                     0x9d, 0xe6, 0x57, 0x34, 0xc3, 0xfe, 0xd6, 0x89);
57 /* 716d14c9-119b-4ba5-af1f-0890e672416a */
58 DEFINE_GUID(IID_IDebugAdvanced2, 0x716d14c9, 0x119b, 0x4ba5,
59                     0xaf, 0x1f, 0x08, 0x90, 0xe6, 0x72, 0x41, 0x6a);
60 /* cba4abb4-84c4-444d-87ca-a04e13286739 */
61 DEFINE_GUID(IID_IDebugAdvanced3, 0xcba4abb4, 0x84c4, 0x444d,
62                     0x87, 0xca, 0xa0, 0x4e, 0x13, 0x28, 0x67, 0x39);
63 /* 5bd9d474-5975-423a-b88b-65a8e7110e65 */
64 DEFINE_GUID(IID_IDebugBreakpoint, 0x5bd9d474, 0x5975, 0x423a,
65                     0xb8, 0x8b, 0x65, 0xa8, 0xe7, 0x11, 0x0e, 0x65);
66 /* 1b278d20-79f2-426e-a3f9-c1ddf375d48e */
67 DEFINE_GUID(IID_IDebugBreakpoint2, 0x1b278d20, 0x79f2, 0x426e,
68                     0xa3, 0xf9, 0xc1, 0xdd, 0xf3, 0x75, 0xd4, 0x8e);
69 /* 27fe5639-8407-4f47-8364-ee118fb08ac8 */
70 DEFINE_GUID(IID_IDebugClient, 0x27fe5639, 0x8407, 0x4f47,
71                     0x83, 0x64, 0xee, 0x11, 0x8f, 0xb0, 0x8a, 0xc8);
72 /* edbed635-372e-4dab-bbfe-ed0d2f63be81 */
73 DEFINE_GUID(IID_IDebugClient2, 0xedbed635, 0x372e, 0x4dab,
74              0xbb, 0xfe, 0xed, 0x0d, 0x2f, 0x63, 0xbe, 0x81);
75 /* dd492d7f-71b8-4ad6-a8dc-1c887479ff91 */
76 DEFINE_GUID(IID_IDebugClient3, 0xdd492d7f, 0x71b8, 0x4ad6,
77                     0xa8, 0xdc, 0x1c, 0x88, 0x74, 0x79, 0xff, 0x91);
78 /* ca83c3de-5089-4cf8-93c8-d892387f2a5e */
79 DEFINE_GUID(IID_IDebugClient4, 0xca83c3de, 0x5089, 0x4cf8,
80                     0x93, 0xc8, 0xd8, 0x92, 0x38, 0x7f, 0x2a, 0x5e);
81 /* e3acb9d7-7ec2-4f0c-a0da-e81e0cbbe628 */
82 DEFINE_GUID(IID_IDebugClient5, 0xe3acb9d7, 0x7ec2, 0x4f0c,
83                     0xa0, 0xda, 0xe8, 0x1e, 0x0c, 0xbb, 0xe6, 0x28);
84 /* 5182e668-105e-416e-ad92-24ef800424ba */
85 DEFINE_GUID(IID_IDebugControl, 0x5182e668, 0x105e, 0x416e,
86                     0xad, 0x92, 0x24, 0xef, 0x80, 0x04, 0x24, 0xba);
87 /* d4366723-44df-4bed-8c7e-4c05424f4588 */
88 DEFINE_GUID(IID_IDebugControl2, 0xd4366723, 0x44df, 0x4bed,
89                     0x8c, 0x7e, 0x4c, 0x05, 0x42, 0x4f, 0x45, 0x88);
90 /* 7df74a86-b03f-407f-90ab-a20dadcead08 */
91 DEFINE_GUID(IID_IDebugControl3, 0x7df74a86, 0xb03f, 0x407f,
Lines 92 ... 15834 are skipped.
15835 #define GetSymbolValueTextT GetSymbolValueText
15836 #define GetNameByOffsetT GetNameByOffset
15837 #define GetOffsetByNameT GetOffsetByName
15838 #define GetNearNameByOffsetT GetNearNameByOffset
15839 #define GetLineByOffsetT GetLineByOffset
15840 #define GetOffsetByLineT GetOffsetByLine
15841 #define GetModuleByModuleNameT GetModuleByModuleName
15842 #define GetModuleByModuleName2T GetModuleByModuleName2
15843 #define GetSymbolModuleT GetSymbolModule
15844 #define GetTypeNameT GetTypeName
15845 #define GetTypeIdT GetTypeId
15846 #define GetFieldOffsetT GetFieldOffset
15847 #define GetSymbolTypeIdT GetSymbolTypeId
15848 #define StartSymbolMatchT StartSymbolMatch
15849 #define GetNextSymbolMatchT GetNextSymbolMatch
15850 #define ReloadT Reload
15851 #define GetSymbolPathT GetSymbolPath
15852 #define SetSymbolPathT SetSymbolPath
15853 #define AppendSymbolPathT AppendSymbolPath
15854 #define GetImagePathT GetImagePath
15855 #define SetImagePathT SetImagePath
15856 #define AppendImagePathT AppendImagePath
15857 #define GetSourcePathT GetSourcePath
15858 #define GetSourcePathElementT GetSourcePathElement
15859 #define SetSourcePathT SetSourcePath
15860 #define AppendSourcePathT AppendSourcePath
15861 #define FindSourceFileT FindSourceFile
15862 #define GetSourceFileLineOffsetsT GetSourceFileLineOffsets
15863 #define GetModuleVersionInformationT GetModuleVersionInformation
15864 #define GetModuleNameStringT GetModuleNameString
15865 #define GetConstantNameT GetConstantName
15866 #define GetFieldNameT GetFieldName
15867 #define GetFieldTypeAndOffsetT GetFieldTypeAndOffset
15868 #define GetSymbolEntriesByNameT GetSymbolEntriesByName
15869 #define GetSymbolEntryStringT GetSymbolEntryString
15870 #define GetSourceEntriesByLineT GetSourceEntriesByLine
15871 #define GetSourceEntryStringT GetSourceEntryString
15872 #define GetCurrentProcessExecutableNameT GetCurrentProcessExecutableName
15873 #define GetCurrentSystemServerNameT GetCurrentSystemServerName
15874
15875 #endif // #ifdef UNICODE
15876
15877 #endif // #ifdef DEBUG_UNICODE_MACROS
15878
15879 #endif // #ifdef __cplusplus
15880
15881 #endif // #ifndef __DBGENG_H__
15882
15883