source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dbgprop.idl@ 1186

Last change on this file since 1186 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 8.7 KB
RevLine 
[1166]1cpp_quote("/**")
2cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4cpp_quote(" */")
5cpp_quote("")
6cpp_quote("#include <winapifamily.h>")
7cpp_quote("")
8cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
9cpp_quote("")
10
11import "ocidl.idl";
12import "oleidl.idl";
13
14cpp_quote("")
15interface IDebugProperty;
16interface IDebugExtendedProperty;
17interface IEnumDebugPropertyInfo;
18interface IEnumDebugExtendedPropertyInfo;
19interface IPerPropertyBrowsing2;
20cpp_quote("")
21cpp_quote("extern GUID guidDocument;")
22cpp_quote("extern GUID guidCodeContext;")
23
24cpp_quote("")
25enum {
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
48cpp_quote("")
49typedef DWORD DBGPROP_ATTRIB_FLAGS;
50
51cpp_quote("")
52enum {
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
64cpp_quote("")
65typedef DWORD DBGPROP_INFO_FLAGS;
66
67cpp_quote("")
68const DBGPROP_INFO_FLAGS DBGPROP_INFO_STANDARD = DBGPROP_INFO_NAME | DBGPROP_INFO_TYPE | DBGPROP_INFO_VALUE | DBGPROP_INFO_ATTRIBUTES;
69const 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
71cpp_quote("")
72typedef 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
111cpp_quote("")
112typedef 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
122cpp_quote("")
123const DWORD PROP_INFO_STANDARD = PROP_INFO_NAME | PROP_INFO_TYPE | PROP_INFO_VALUE | PROP_INFO_ATTRIBUTES;
124const DWORD PROP_INFO_ALL = PROP_INFO_NAME | PROP_INFO_TYPE | PROP_INFO_VALUE | PROP_INFO_FULLNAME | PROP_INFO_ATTRIBUTES | PROP_INFO_DEBUGPROP;
125
126cpp_quote("")
127typedef 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
137cpp_quote("")
138typedef 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;
145typedef 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
160cpp_quote("")
161[object, uuid (51973c50-CB0C-11d0-B5C9-00a0244a0e7a),, pointer_default (unique)]
162interface 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
171cpp_quote("")
172[object, uuid (51973c51-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
173interface 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
183cpp_quote("")
184[object, uuid (51973c52-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
185interface 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
190cpp_quote("")
191[object, uuid (51973c53-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
192interface 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
200cpp_quote("")
201[object, uuid (51973c54-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
202interface 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
209cpp_quote("")
210[object, uuid (51973c55-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
211interface IDebugPropertyEnumType_All : IUnknown {
212 HRESULT GetName ([out] BSTR *);
213};
214
215cpp_quote("")
216[object, uuid (51973c56-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
217interface IDebugPropertyEnumType_Locals : IDebugPropertyEnumType_All {
218};
219
220cpp_quote("")
221[object, uuid (51973c57-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
222interface IDebugPropertyEnumType_Arguments : IDebugPropertyEnumType_All {
223};
224
225cpp_quote("")
226[object, uuid (51973c58-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
227interface IDebugPropertyEnumType_LocalsPlusArgs : IDebugPropertyEnumType_All {
228};
229
230cpp_quote("")
231[object, uuid (51973c59-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
232interface IDebugPropertyEnumType_Registers : IDebugPropertyEnumType_All {
233};
234cpp_quote("#endif")
Note: See TracBrowser for help on using the repository browser.