1 | cpp_quote("/**")
|
---|
2 | cpp_quote(" * This file is part of the mingw-w64 runtime package.")
|
---|
3 | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
|
---|
4 | cpp_quote(" */")
|
---|
5 | cpp_quote("")
|
---|
6 | cpp_quote("#include <winapifamily.h>")
|
---|
7 | cpp_quote("")
|
---|
8 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
9 | cpp_quote("")
|
---|
10 |
|
---|
11 | import "ocidl.idl";
|
---|
12 | import "oleidl.idl";
|
---|
13 |
|
---|
14 | cpp_quote("")
|
---|
15 | interface IDebugProperty;
|
---|
16 | interface IDebugExtendedProperty;
|
---|
17 | interface IEnumDebugPropertyInfo;
|
---|
18 | interface IEnumDebugExtendedPropertyInfo;
|
---|
19 | interface IPerPropertyBrowsing2;
|
---|
20 | cpp_quote("")
|
---|
21 | cpp_quote("extern GUID guidDocument;")
|
---|
22 | cpp_quote("extern GUID guidCodeContext;")
|
---|
23 |
|
---|
24 | cpp_quote("")
|
---|
25 | enum {
|
---|
26 | DBGPROP_ATTRIB_NO_ATTRIB = 0x0,
|
---|
27 | DBGPROP_ATTRIB_VALUE_IS_INVALID = 0x8,
|
---|
28 | DBGPROP_ATTRIB_VALUE_IS_EXPANDABLE =0x10,
|
---|
29 | DBGPROP_ATTRIB_VALUE_IS_FAKE = 0x20,
|
---|
30 | DBGPROP_ATTRIB_VALUE_IS_METHOD = 0x100,
|
---|
31 | DBGPROP_ATTRIB_VALUE_IS_EVENT = 0x200,
|
---|
32 | DBGPROP_ATTRIB_VALUE_IS_RAW_STRING = 0x400,
|
---|
33 | DBGPROP_ATTRIB_VALUE_READONLY = 0x800,
|
---|
34 | DBGPROP_ATTRIB_ACCESS_PUBLIC = 0x1000,
|
---|
35 | DBGPROP_ATTRIB_ACCESS_PRIVATE = 0x2000,
|
---|
36 | DBGPROP_ATTRIB_ACCESS_PROTECTED = 0x4000,
|
---|
37 | DBGPROP_ATTRIB_ACCESS_FINAL = 0x8000,
|
---|
38 | DBGPROP_ATTRIB_STORAGE_GLOBAL = 0x10000,
|
---|
39 | DBGPROP_ATTRIB_STORAGE_STATIC = 0x20000,
|
---|
40 | DBGPROP_ATTRIB_STORAGE_FIELD = 0x40000,
|
---|
41 | DBGPROP_ATTRIB_STORAGE_VIRTUAL = 0x80000,
|
---|
42 | DBGPROP_ATTRIB_TYPE_IS_CONSTANT = 0x100000,
|
---|
43 | DBGPROP_ATTRIB_TYPE_IS_SYNCHRONIZED = 0x200000,
|
---|
44 | DBGPROP_ATTRIB_TYPE_IS_VOLATILE = 0x400000,
|
---|
45 | DBGPROP_ATTRIB_HAS_EXTENDED_ATTRIBS = 0x800000
|
---|
46 | };
|
---|
47 |
|
---|
48 | cpp_quote("")
|
---|
49 | typedef DWORD DBGPROP_ATTRIB_FLAGS;
|
---|
50 |
|
---|
51 | cpp_quote("")
|
---|
52 | enum {
|
---|
53 | DBGPROP_INFO_NAME = 0x1,
|
---|
54 | DBGPROP_INFO_TYPE = 0x2,
|
---|
55 | DBGPROP_INFO_VALUE = 0x4,
|
---|
56 | DBGPROP_INFO_FULLNAME = 0x20,
|
---|
57 | DBGPROP_INFO_ATTRIBUTES = 0x8,
|
---|
58 | DBGPROP_INFO_DEBUGPROP = 0x10,
|
---|
59 | DBGPROP_INFO_BEAUTIFY = 0x2000000,
|
---|
60 | DBGPROP_INFO_CALLTOSTRING = 0x4000000,
|
---|
61 | DBGPROP_INFO_AUTOEXPAND = 0x8000000
|
---|
62 | };
|
---|
63 |
|
---|
64 | cpp_quote("")
|
---|
65 | typedef DWORD DBGPROP_INFO_FLAGS;
|
---|
66 |
|
---|
67 | cpp_quote("")
|
---|
68 | const DBGPROP_INFO_FLAGS DBGPROP_INFO_STANDARD = DBGPROP_INFO_NAME | DBGPROP_INFO_TYPE | DBGPROP_INFO_VALUE | DBGPROP_INFO_ATTRIBUTES;
|
---|
69 | const DBGPROP_INFO_FLAGS DBGPROP_INFO_ALL = DBGPROP_INFO_NAME | DBGPROP_INFO_TYPE | DBGPROP_INFO_VALUE | DBGPROP_INFO_FULLNAME | DBGPROP_INFO_ATTRIBUTES | DBGPROP_INFO_DEBUGPROP;
|
---|
70 |
|
---|
71 | cpp_quote("")
|
---|
72 | typedef enum tagOBJECT_ATTRIB_FLAG {
|
---|
73 | OBJECT_ATTRIB_NO_ATTRIB = 0x0,
|
---|
74 | OBJECT_ATTRIB_NO_NAME = 0x1,
|
---|
75 | OBJECT_ATTRIB_NO_TYPE = 0x2,
|
---|
76 | OBJECT_ATTRIB_NO_VALUE = 0x4,
|
---|
77 | OBJECT_ATTRIB_VALUE_IS_INVALID = 0x8,
|
---|
78 | OBJECT_ATTRIB_VALUE_IS_OBJECT = 0x10,
|
---|
79 | OBJECT_ATTRIB_VALUE_IS_ENUM = 0x20,
|
---|
80 | OBJECT_ATTRIB_VALUE_IS_CUSTOM = 0x40,
|
---|
81 | OBJECT_ATTRIB_OBJECT_IS_EXPANDABLE =0x070,
|
---|
82 | OBJECT_ATTRIB_VALUE_HAS_CODE = 0x80,
|
---|
83 |
|
---|
84 | OBJECT_ATTRIB_TYPE_IS_OBJECT = 0x100,
|
---|
85 | OBJECT_ATTRIB_TYPE_HAS_CODE = 0x200,
|
---|
86 | OBJECT_ATTRIB_TYPE_IS_EXPANDABLE = 0x100,
|
---|
87 | OBJECT_ATTRIB_SLOT_IS_CATEGORY = 0x400,
|
---|
88 | OBJECT_ATTRIB_VALUE_READONLY = 0x800,
|
---|
89 | OBJECT_ATTRIB_ACCESS_PUBLIC = 0x1000,
|
---|
90 | OBJECT_ATTRIB_ACCESS_PRIVATE = 0x2000,
|
---|
91 | OBJECT_ATTRIB_ACCESS_PROTECTED = 0x4000,
|
---|
92 | OBJECT_ATTRIB_ACCESS_FINAL = 0x8000,
|
---|
93 | OBJECT_ATTRIB_STORAGE_GLOBAL = 0x10000,
|
---|
94 | OBJECT_ATTRIB_STORAGE_STATIC = 0x20000,
|
---|
95 | OBJECT_ATTRIB_STORAGE_FIELD = 0x40000,
|
---|
96 | OBJECT_ATTRIB_STORAGE_VIRTUAL = 0x80000,
|
---|
97 | OBJECT_ATTRIB_TYPE_IS_CONSTANT = 0x100000,
|
---|
98 | OBJECT_ATTRIB_TYPE_IS_SYNCHRONIZED = 0x200000,
|
---|
99 | OBJECT_ATTRIB_TYPE_IS_VOLATILE = 0x400000,
|
---|
100 | OBJECT_ATTRIB_HAS_EXTENDED_ATTRIBS = 0x800000,
|
---|
101 | OBJECT_ATTRIB_IS_CLASS = 0x1000000,
|
---|
102 | OBJECT_ATTRIB_IS_FUNCTION = 0x2000000,
|
---|
103 | OBJECT_ATTRIB_IS_VARIABLE = 0x4000000,
|
---|
104 | OBJECT_ATTRIB_IS_PROPERTY = 0x8000000,
|
---|
105 | OBJECT_ATTRIB_IS_MACRO = 0x10000000,
|
---|
106 | OBJECT_ATTRIB_IS_TYPE = 0x20000000,
|
---|
107 | OBJECT_ATTRIB_IS_INHERITED = 0x40000000,
|
---|
108 | OBJECT_ATTRIB_IS_INTERFACE = 0x80000000
|
---|
109 | } OBJECT_ATTRIB_FLAGS;
|
---|
110 |
|
---|
111 | cpp_quote("")
|
---|
112 | typedef enum tagPROP_INFO_FLAGS {
|
---|
113 | PROP_INFO_NAME = 0x1,
|
---|
114 | PROP_INFO_TYPE = 0x2,
|
---|
115 | PROP_INFO_VALUE = 0x4,
|
---|
116 | PROP_INFO_FULLNAME = 0x20,
|
---|
117 | PROP_INFO_ATTRIBUTES = 0x8,
|
---|
118 | PROP_INFO_DEBUGPROP = 0x10,
|
---|
119 | PROP_INFO_AUTOEXPAND = 0x8000000
|
---|
120 | } PROP_INFO_FLAGS;
|
---|
121 |
|
---|
122 | cpp_quote("")
|
---|
123 | const DWORD PROP_INFO_STANDARD = PROP_INFO_NAME | PROP_INFO_TYPE | PROP_INFO_VALUE | PROP_INFO_ATTRIBUTES;
|
---|
124 | const DWORD PROP_INFO_ALL = PROP_INFO_NAME | PROP_INFO_TYPE | PROP_INFO_VALUE | PROP_INFO_FULLNAME | PROP_INFO_ATTRIBUTES | PROP_INFO_DEBUGPROP;
|
---|
125 |
|
---|
126 | cpp_quote("")
|
---|
127 | typedef struct tagDebugPropertyInfo {
|
---|
128 | DWORD m_dwValidFields;
|
---|
129 | BSTR m_bstrName;
|
---|
130 | BSTR m_bstrType;
|
---|
131 | BSTR m_bstrValue;
|
---|
132 | BSTR m_bstrFullName;
|
---|
133 | DWORD m_dwAttrib;
|
---|
134 | IDebugProperty *m_pDebugProp;
|
---|
135 | } DebugPropertyInfo;
|
---|
136 |
|
---|
137 | cpp_quote("")
|
---|
138 | typedef enum tagEX_PROP_INFO_FLAGS {
|
---|
139 | EX_PROP_INFO_ID = 0x100,
|
---|
140 | EX_PROP_INFO_NTYPE = 0x200,
|
---|
141 | EX_PROP_INFO_NVALUE = 0x400,
|
---|
142 | EX_PROP_INFO_LOCKBYTES = 0x800,
|
---|
143 | EX_PROP_INFO_DEBUGEXTPROP = 0x1000,
|
---|
144 | } EX_PROP_INFO_FLAGS;
|
---|
145 | typedef struct tagExtendedDebugPropertyInfo {
|
---|
146 | DWORD dwValidFields;
|
---|
147 | LPOLESTR pszName;
|
---|
148 | LPOLESTR pszType;
|
---|
149 | LPOLESTR pszValue;
|
---|
150 | LPOLESTR pszFullName;
|
---|
151 | DWORD dwAttrib;
|
---|
152 | IDebugProperty *pDebugProp;
|
---|
153 | DWORD nDISPID;
|
---|
154 | DWORD nType;
|
---|
155 | VARIANT varValue;
|
---|
156 | ILockBytes *plbValue;
|
---|
157 | IDebugExtendedProperty *pDebugExtProp;
|
---|
158 | } ExtendedDebugPropertyInfo;
|
---|
159 |
|
---|
160 | cpp_quote("")
|
---|
161 | [object, uuid (51973c50-CB0C-11d0-B5C9-00a0244a0e7a),, pointer_default (unique)]
|
---|
162 | interface IDebugProperty : IUnknown {
|
---|
163 | [local] HRESULT GetPropertyInfo ([in] DWORD dwFieldSpec,[in] UINT nRadix,[out] DebugPropertyInfo *pPropertyInfo);
|
---|
164 | [call_as (GetPropertyInfo)] HRESULT RemoteGetPropertyInfo ([in] DWORD dwFieldSpec,[in] UINT nRadix,[out] DWORD *dwValidFields,[out] BSTR *pbstrName,[out] BSTR *pbstrType,[out] BSTR *pbstrValue,[out] BSTR *pbstrFullName,[out] DWORD *pdwAttrib,[in, out, unique] IDebugProperty **ppDebugProperty);
|
---|
165 | HRESULT GetExtendedInfo ([in] ULONG cInfos,[in, size_is (cInfos)] GUID *rgguidExtendedInfo,[out, size_is (cInfos)] VARIANT *rgvar);
|
---|
166 | HRESULT SetValueAsString ([in] LPCOLESTR pszValue,[in] UINT nRadix);
|
---|
167 | HRESULT EnumMembers ([in] DWORD dwFieldSpec,[in] UINT nRadix,[in] REFIID refiid,[out] IEnumDebugPropertyInfo **ppepi);
|
---|
168 | HRESULT GetParent ([out] IDebugProperty **ppDebugProp);
|
---|
169 | };
|
---|
170 |
|
---|
171 | cpp_quote("")
|
---|
172 | [object, uuid (51973c51-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
173 | interface IEnumDebugPropertyInfo : IUnknown {
|
---|
174 | [local] HRESULT Next ([in] ULONG celt,[out] DebugPropertyInfo *pi,[out] ULONG *pcEltsfetched);
|
---|
175 | [call_as (Next)]
|
---|
176 | HRESULT __stdcall RemoteNext ([in] ULONG celt,[in, out, unique, size_is (celt), length_is (*pcEltsfetched)] DebugPropertyInfo *pinfo,[out] ULONG *pcEltsfetched);
|
---|
177 | HRESULT Skip ([in] ULONG celt);
|
---|
178 | HRESULT Reset (void);
|
---|
179 | HRESULT Clone ([out] IEnumDebugPropertyInfo **ppepi);
|
---|
180 | HRESULT GetCount ([out] ULONG *pcelt);
|
---|
181 | };
|
---|
182 |
|
---|
183 | cpp_quote("")
|
---|
184 | [object, uuid (51973c52-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
185 | interface IDebugExtendedProperty : IDebugProperty {
|
---|
186 | HRESULT GetExtendedPropertyInfo ([in] DWORD dwFieldSpec,[in] UINT nRadix,[out] ExtendedDebugPropertyInfo *pExtendedPropertyInfo);
|
---|
187 | HRESULT EnumExtendedMembers ([in] DWORD dwFieldSpec,[in] UINT nRadix,[out] IEnumDebugExtendedPropertyInfo **ppeepi);
|
---|
188 | };
|
---|
189 |
|
---|
190 | cpp_quote("")
|
---|
191 | [object, uuid (51973c53-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
192 | interface IEnumDebugExtendedPropertyInfo : IUnknown {
|
---|
193 | HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] ExtendedDebugPropertyInfo *rgExtendedPropertyInfo,[out] ULONG *pceltFetched);
|
---|
194 | HRESULT Skip ([in] ULONG celt);
|
---|
195 | HRESULT Reset (void);
|
---|
196 | HRESULT Clone ([out] IEnumDebugExtendedPropertyInfo **pedpe);
|
---|
197 | HRESULT GetCount ([out] ULONG *pcelt);
|
---|
198 | };
|
---|
199 |
|
---|
200 | cpp_quote("")
|
---|
201 | [object, uuid (51973c54-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
202 | interface IPerPropertyBrowsing2 : IUnknown {
|
---|
203 | HRESULT GetDisplayString ([in] DISPID dispid,[out] BSTR *pBstr);
|
---|
204 | HRESULT MapPropertyToPage ([in] DISPID dispid,[out] CLSID *pClsidPropPage);
|
---|
205 | HRESULT GetPredefinedStrings ([in] DISPID dispid,[out] CALPOLESTR *pCaStrings,[out] CADWORD *pCaCookies);
|
---|
206 | HRESULT SetPredefinedValue ([in] DISPID dispid,[in] DWORD dwCookie);
|
---|
207 | };
|
---|
208 |
|
---|
209 | cpp_quote("")
|
---|
210 | [object, uuid (51973c55-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
211 | interface IDebugPropertyEnumType_All : IUnknown {
|
---|
212 | HRESULT GetName ([out] BSTR *);
|
---|
213 | };
|
---|
214 |
|
---|
215 | cpp_quote("")
|
---|
216 | [object, uuid (51973c56-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
217 | interface IDebugPropertyEnumType_Locals : IDebugPropertyEnumType_All {
|
---|
218 | };
|
---|
219 |
|
---|
220 | cpp_quote("")
|
---|
221 | [object, uuid (51973c57-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
222 | interface IDebugPropertyEnumType_Arguments : IDebugPropertyEnumType_All {
|
---|
223 | };
|
---|
224 |
|
---|
225 | cpp_quote("")
|
---|
226 | [object, uuid (51973c58-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
227 | interface IDebugPropertyEnumType_LocalsPlusArgs : IDebugPropertyEnumType_All {
|
---|
228 | };
|
---|
229 |
|
---|
230 | cpp_quote("")
|
---|
231 | [object, uuid (51973c59-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
232 | interface IDebugPropertyEnumType_Registers : IDebugPropertyEnumType_All {
|
---|
233 | };
|
---|
234 | cpp_quote("#endif")
|
---|