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 |
|
---|
8 | #ifndef DO_NO_IMPORTS
|
---|
9 | import "objidl.idl";
|
---|
10 | #endif
|
---|
11 |
|
---|
12 | cpp_quote("")
|
---|
13 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
14 |
|
---|
15 | interface ICreateTypeInfo;
|
---|
16 | interface ICreateTypeInfo2;
|
---|
17 | interface ICreateTypeLib;
|
---|
18 | interface ICreateTypeLib2;
|
---|
19 | cpp_quote("#endif")
|
---|
20 | cpp_quote("")
|
---|
21 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
|
---|
22 | interface IDispatch;
|
---|
23 | interface IEnumVARIANT;
|
---|
24 | interface ITypeComp;
|
---|
25 | cpp_quote("#endif")
|
---|
26 | cpp_quote("")
|
---|
27 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
28 | interface ITypeInfo;
|
---|
29 | interface ITypeInfo2;
|
---|
30 | interface ITypeLib;
|
---|
31 | interface ITypeLib2;
|
---|
32 | interface ITypeChangeEvents;
|
---|
33 | interface IErrorInfo;
|
---|
34 | interface ICreateErrorInfo;
|
---|
35 | interface ISupportErrorInfo;
|
---|
36 | interface ITypeFactory;
|
---|
37 | interface ITypeMarshal;
|
---|
38 | interface IRecordInfo;
|
---|
39 | cpp_quote("#endif")
|
---|
40 | cpp_quote("")
|
---|
41 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
|
---|
42 | [version (1.0), pointer_default (unique)]
|
---|
43 | interface IOleAutomationTypes {
|
---|
44 | typedef CY CURRENCY;
|
---|
45 | typedef struct tagSAFEARRAYBOUND {
|
---|
46 | ULONG cElements;
|
---|
47 | LONG lLbound;
|
---|
48 | } SAFEARRAYBOUND,*LPSAFEARRAYBOUND;
|
---|
49 |
|
---|
50 | cpp_quote("")
|
---|
51 | typedef [unique] struct _wireVARIANT *wireVARIANT;
|
---|
52 | typedef [unique] struct _wireBRECORD *wireBRECORD;
|
---|
53 | cpp_quote("")
|
---|
54 | typedef struct _wireSAFEARR_BSTR {
|
---|
55 | ULONG Size;
|
---|
56 | [size_is (Size), ref] wireBSTR *aBstr;
|
---|
57 | } SAFEARR_BSTR;
|
---|
58 |
|
---|
59 | cpp_quote("")
|
---|
60 | typedef struct _wireSAFEARR_UNKNOWN {
|
---|
61 | ULONG Size;
|
---|
62 | [size_is (Size), ref] IUnknown **apUnknown;
|
---|
63 | } SAFEARR_UNKNOWN;
|
---|
64 |
|
---|
65 | cpp_quote("")
|
---|
66 | typedef struct _wireSAFEARR_DISPATCH {
|
---|
67 | ULONG Size;
|
---|
68 | [size_is (Size), ref] IDispatch **apDispatch;
|
---|
69 | } SAFEARR_DISPATCH;
|
---|
70 |
|
---|
71 | cpp_quote("")
|
---|
72 | typedef struct _wireSAFEARR_VARIANT {
|
---|
73 | ULONG Size;
|
---|
74 | [size_is (Size), ref] wireVARIANT *aVariant;
|
---|
75 | } SAFEARR_VARIANT;
|
---|
76 |
|
---|
77 | cpp_quote("")
|
---|
78 | typedef struct _wireSAFEARR_BRECORD {
|
---|
79 | ULONG Size;
|
---|
80 | [size_is (Size), ref] wireBRECORD *aRecord;
|
---|
81 | } SAFEARR_BRECORD;
|
---|
82 |
|
---|
83 | cpp_quote("")
|
---|
84 | typedef struct _wireSAFEARR_HAVEIID {
|
---|
85 | ULONG Size;
|
---|
86 | [size_is (Size), ref] IUnknown **apUnknown;
|
---|
87 | IID iid;
|
---|
88 | } SAFEARR_HAVEIID;
|
---|
89 |
|
---|
90 | cpp_quote("")
|
---|
91 | typedef [v1_enum] enum tagSF_TYPE {
|
---|
92 | SF_ERROR = VT_ERROR,
|
---|
93 | SF_I1 = VT_I1,
|
---|
94 | SF_I2 = VT_I2,
|
---|
95 | SF_I4 = VT_I4,
|
---|
96 | SF_I8 = VT_I8,
|
---|
97 | SF_BSTR = VT_BSTR,
|
---|
98 | SF_UNKNOWN = VT_UNKNOWN,
|
---|
99 | SF_DISPATCH = VT_DISPATCH,
|
---|
100 | SF_VARIANT = VT_VARIANT,
|
---|
101 | SF_RECORD = VT_RECORD,
|
---|
102 | SF_HAVEIID = VT_UNKNOWN | VT_RESERVED
|
---|
103 | } SF_TYPE;
|
---|
104 |
|
---|
105 | cpp_quote("")
|
---|
106 | typedef union _wireSAFEARRAY_UNION switch (ULONG sfType) u {
|
---|
107 | case SF_BSTR: SAFEARR_BSTR BstrStr;
|
---|
108 | case SF_UNKNOWN: SAFEARR_UNKNOWN UnknownStr;
|
---|
109 | case SF_DISPATCH: SAFEARR_DISPATCH DispatchStr;
|
---|
110 | case SF_VARIANT: SAFEARR_VARIANT VariantStr;
|
---|
111 | case SF_RECORD: SAFEARR_BRECORD RecordStr;
|
---|
112 | case SF_HAVEIID: SAFEARR_HAVEIID HaveIidStr;
|
---|
113 | case SF_I1: BYTE_SIZEDARR ByteStr;
|
---|
114 | case SF_I2: WORD_SIZEDARR WordStr;
|
---|
115 | case SF_I4: DWORD_SIZEDARR LongStr;
|
---|
116 | case SF_I8: HYPER_SIZEDARR HyperStr;
|
---|
117 | } SAFEARRAYUNION;
|
---|
118 |
|
---|
119 | cpp_quote("")
|
---|
120 | typedef [unique] struct _wireSAFEARRAY {
|
---|
121 | USHORT cDims;
|
---|
122 | USHORT fFeatures;
|
---|
123 | ULONG cbElements;
|
---|
124 | ULONG cLocks;
|
---|
125 | SAFEARRAYUNION uArrayStructs;
|
---|
126 | [size_is (cDims)] SAFEARRAYBOUND rgsabound[];
|
---|
127 | } *wireSAFEARRAY;
|
---|
128 | typedef [unique] wireSAFEARRAY *wirePSAFEARRAY;
|
---|
129 |
|
---|
130 | cpp_quote("")
|
---|
131 | typedef struct tagSAFEARRAY {
|
---|
132 | USHORT cDims;
|
---|
133 | USHORT fFeatures;
|
---|
134 | ULONG cbElements;
|
---|
135 | ULONG cLocks;
|
---|
136 | PVOID pvData;
|
---|
137 | SAFEARRAYBOUND rgsabound[];
|
---|
138 | } SAFEARRAY;
|
---|
139 | typedef [wire_marshal (wirePSAFEARRAY)] SAFEARRAY *LPSAFEARRAY;
|
---|
140 |
|
---|
141 | cpp_quote("")
|
---|
142 | const USHORT FADF_AUTO = 0x0001;
|
---|
143 | const USHORT FADF_STATIC = 0x0002;
|
---|
144 | const USHORT FADF_EMBEDDED = 0x0004;
|
---|
145 | const USHORT FADF_FIXEDSIZE = 0x0010;
|
---|
146 | const USHORT FADF_RECORD = 0x0020;
|
---|
147 | const USHORT FADF_HAVEIID = 0x0040;
|
---|
148 | const USHORT FADF_HAVEVARTYPE= 0x0080;
|
---|
149 | const USHORT FADF_BSTR = 0x0100;
|
---|
150 | const USHORT FADF_UNKNOWN = 0x0200;
|
---|
151 | const USHORT FADF_DISPATCH = 0x0400;
|
---|
152 | const USHORT FADF_VARIANT = 0x0800;
|
---|
153 | const USHORT FADF_RESERVED = 0xf008;
|
---|
154 |
|
---|
155 | cpp_quote("")
|
---|
156 | cpp_quote("/* Kludge for 3.0 release to disable new default-behavior.")
|
---|
157 | cpp_quote(" * For now we define _FORCENAMELESSUNION. For 4.0 this define")
|
---|
158 | cpp_quote(" * will be removed. */")
|
---|
159 | cpp_quote("#ifndef _FORCENAMELESSUNION")
|
---|
160 | cpp_quote("#define _FORCENAMELESSUNION 1")
|
---|
161 | cpp_quote("#endif")
|
---|
162 | cpp_quote("")
|
---|
163 | cpp_quote("#if (__STDC__ && !defined(__cplusplus) && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION) || (defined (_MSC_VER) && !defined(_MSC_EXTENSIONS) && !defined(_FORCENAMELESSUNION))")
|
---|
164 | cpp_quote("#define __VARIANT_NAME_1 n1")
|
---|
165 | cpp_quote("#define __VARIANT_NAME_2 n2")
|
---|
166 | cpp_quote("#define __VARIANT_NAME_3 n3")
|
---|
167 | cpp_quote("#define __VARIANT_NAME_4 brecVal")
|
---|
168 | cpp_quote("#else")
|
---|
169 | cpp_quote("#define __tagVARIANT")
|
---|
170 | cpp_quote("#define __VARIANT_NAME_1")
|
---|
171 | cpp_quote("#define __VARIANT_NAME_2")
|
---|
172 | cpp_quote("#define __VARIANT_NAME_3")
|
---|
173 | cpp_quote("#define __tagBRECORD")
|
---|
174 | cpp_quote("#define __VARIANT_NAME_4")
|
---|
175 | cpp_quote("#endif")
|
---|
176 |
|
---|
177 | cpp_quote("")
|
---|
178 | typedef [wire_marshal (wireVARIANT)] struct tagVARIANT VARIANT;
|
---|
179 |
|
---|
180 | cpp_quote("")
|
---|
181 | struct tagVARIANT {
|
---|
182 | union {
|
---|
183 | struct __tagVARIANT {
|
---|
184 | VARTYPE vt;
|
---|
185 | WORD wReserved1;
|
---|
186 | WORD wReserved2;
|
---|
187 | WORD wReserved3;
|
---|
188 | union {
|
---|
189 | LONGLONG llVal;
|
---|
190 | LONG lVal;
|
---|
191 | BYTE bVal;
|
---|
192 | SHORT iVal;
|
---|
193 | FLOAT fltVal;
|
---|
194 | DOUBLE dblVal;
|
---|
195 | VARIANT_BOOL boolVal;
|
---|
196 | /* Removed due conflict with bool and gcc's inablity to express a macro expanding to a comment.
|
---|
197 | _VARIANT_BOOL bool; */
|
---|
198 | SCODE scode;
|
---|
199 | CY cyVal;
|
---|
200 | DATE date;
|
---|
201 | BSTR bstrVal;
|
---|
202 | IUnknown *punkVal;
|
---|
203 | IDispatch *pdispVal;
|
---|
204 | SAFEARRAY *parray;
|
---|
205 | BYTE *pbVal;
|
---|
206 | SHORT *piVal;
|
---|
207 | LONG *plVal;
|
---|
208 | LONGLONG *pllVal;
|
---|
209 | FLOAT *pfltVal;
|
---|
210 | DOUBLE *pdblVal;
|
---|
211 | VARIANT_BOOL *pboolVal;
|
---|
212 | /* Removed due conflict with bool and gcc's inablity to express a macro expanding to a comment.
|
---|
213 | _VARIANT_BOOL *pbool; */
|
---|
214 | SCODE *pscode;
|
---|
215 | CY *pcyVal;
|
---|
216 | DATE *pdate;
|
---|
217 | BSTR *pbstrVal;
|
---|
218 | IUnknown **ppunkVal;
|
---|
219 | IDispatch **ppdispVal;
|
---|
220 | SAFEARRAY **pparray;
|
---|
221 | VARIANT *pvarVal;
|
---|
222 | PVOID byref;
|
---|
223 | CHAR cVal;
|
---|
224 | USHORT uiVal;
|
---|
225 | ULONG ulVal;
|
---|
226 | ULONGLONG ullVal;
|
---|
227 | INT intVal;
|
---|
228 | UINT uintVal;
|
---|
229 | DECIMAL *pdecVal;
|
---|
230 | CHAR *pcVal;
|
---|
231 | USHORT *puiVal;
|
---|
232 | ULONG *pulVal;
|
---|
233 | ULONGLONG *pullVal;
|
---|
234 | INT *pintVal;
|
---|
235 | UINT *puintVal;
|
---|
236 | struct __tagBRECORD {
|
---|
237 | PVOID pvRecord;
|
---|
238 | IRecordInfo *pRecInfo;
|
---|
239 | } __VARIANT_NAME_4;
|
---|
240 | } __VARIANT_NAME_3;
|
---|
241 | } __VARIANT_NAME_2;
|
---|
242 | DECIMAL decVal;
|
---|
243 | } __VARIANT_NAME_1;
|
---|
244 | };
|
---|
245 |
|
---|
246 | cpp_quote("")
|
---|
247 | typedef VARIANT *LPVARIANT;
|
---|
248 | typedef VARIANT VARIANTARG;
|
---|
249 | typedef VARIANT *LPVARIANTARG;
|
---|
250 | cpp_quote("#if 0")
|
---|
251 | typedef const VARIANT *REFVARIANT;
|
---|
252 | cpp_quote("#else")
|
---|
253 | cpp_quote("")
|
---|
254 | cpp_quote("#ifndef _REFVARIANT_DEFINED")
|
---|
255 | cpp_quote("#define _REFVARIANT_DEFINED")
|
---|
256 | cpp_quote("#ifdef __cplusplus")
|
---|
257 | cpp_quote("#define REFVARIANT const VARIANT &")
|
---|
258 | cpp_quote("#else")
|
---|
259 | cpp_quote("#define REFVARIANT const VARIANT * __MIDL_CONST")
|
---|
260 | cpp_quote("#endif")
|
---|
261 | cpp_quote("#endif")
|
---|
262 | cpp_quote("#endif")
|
---|
263 |
|
---|
264 | cpp_quote("")
|
---|
265 | struct _wireBRECORD {
|
---|
266 | ULONG fFlags;
|
---|
267 | ULONG clSize;
|
---|
268 | IRecordInfo *pRecInfo;
|
---|
269 | [size_is (clSize)] byte *pRecord;
|
---|
270 | };
|
---|
271 |
|
---|
272 | cpp_quote("")
|
---|
273 | struct _wireVARIANT {
|
---|
274 | DWORD clSize;
|
---|
275 | DWORD rpcReserved;
|
---|
276 | USHORT vt;
|
---|
277 | USHORT wReserved1;
|
---|
278 | USHORT wReserved2;
|
---|
279 | USHORT wReserved3;
|
---|
280 | [switch_type (ULONG), switch_is (vt)] union {
|
---|
281 | [case (VT_I8)] LONGLONG llVal;
|
---|
282 | [case (VT_I4)] LONG lVal;
|
---|
283 | [case (VT_UI1)] BYTE bVal;
|
---|
284 | [case (VT_I2)] SHORT iVal;
|
---|
285 | [case (VT_R4)] FLOAT fltVal;
|
---|
286 | [case (VT_R8)] DOUBLE dblVal;
|
---|
287 | [case (VT_BOOL)] VARIANT_BOOL boolVal;
|
---|
288 | [case (VT_ERROR)] SCODE scode;
|
---|
289 | [case (VT_CY)] CY cyVal;
|
---|
290 | [case (VT_DATE)] DATE date;
|
---|
291 | [case (VT_BSTR)] wireBSTR bstrVal;
|
---|
292 | [case (VT_UNKNOWN)] IUnknown *punkVal;
|
---|
293 | [case (VT_DISPATCH)] IDispatch *pdispVal;
|
---|
294 | [case (VT_ARRAY)] wirePSAFEARRAY parray;
|
---|
295 | [case (VT_RECORD, VT_RECORD|VT_BYREF)]
|
---|
296 | wireBRECORD brecVal;
|
---|
297 | [case (VT_UI1|VT_BYREF)]
|
---|
298 | BYTE *pbVal;
|
---|
299 | [case (VT_I2|VT_BYREF)]
|
---|
300 | SHORT *piVal;
|
---|
301 | [case (VT_I4|VT_BYREF)]
|
---|
302 | LONG *plVal;
|
---|
303 | [case (VT_I8|VT_BYREF)]
|
---|
304 | LONGLONG *pllVal;
|
---|
305 | [case (VT_R4|VT_BYREF)]
|
---|
306 | FLOAT *pfltVal;
|
---|
307 | [case (VT_R8|VT_BYREF)]
|
---|
308 | DOUBLE *pdblVal;
|
---|
309 | [case (VT_BOOL|VT_BYREF)]
|
---|
310 | VARIANT_BOOL *pboolVal;
|
---|
311 | [case (VT_ERROR|VT_BYREF)]
|
---|
312 | SCODE *pscode;
|
---|
313 | [case (VT_CY|VT_BYREF)]
|
---|
314 | CY *pcyVal;
|
---|
315 | [case (VT_DATE|VT_BYREF)]
|
---|
316 | DATE *pdate;
|
---|
317 | [case (VT_BSTR|VT_BYREF)]
|
---|
318 | wireBSTR *pbstrVal;
|
---|
319 | [case (VT_UNKNOWN|VT_BYREF)]
|
---|
320 | IUnknown **ppunkVal;
|
---|
321 | [case (VT_DISPATCH|VT_BYREF)]
|
---|
322 | IDispatch **ppdispVal;
|
---|
323 | [case (VT_ARRAY|VT_BYREF)]
|
---|
324 | wirePSAFEARRAY *pparray;
|
---|
325 | [case (VT_VARIANT|VT_BYREF)]
|
---|
326 | wireVARIANT *pvarVal;
|
---|
327 | [case (VT_I1)] CHAR cVal;
|
---|
328 | [case (VT_UI2)] USHORT uiVal;
|
---|
329 | [case (VT_UI4)] ULONG ulVal;
|
---|
330 | [case (VT_UI8)] ULONGLONG ullVal;
|
---|
331 | [case (VT_INT)] INT intVal;
|
---|
332 | [case (VT_UINT)] UINT uintVal;
|
---|
333 | [case (VT_DECIMAL)] DECIMAL decVal;
|
---|
334 | [case (VT_BYREF|VT_DECIMAL)]
|
---|
335 | DECIMAL *pdecVal;
|
---|
336 | [case (VT_BYREF|VT_I1)]
|
---|
337 | CHAR *pcVal;
|
---|
338 | [case (VT_BYREF|VT_UI2)]
|
---|
339 | USHORT *puiVal;
|
---|
340 | [case (VT_BYREF|VT_UI4)]
|
---|
341 | ULONG *pulVal;
|
---|
342 | [case (VT_BYREF|VT_UI8)]
|
---|
343 | ULONGLONG *pullVal;
|
---|
344 | [case (VT_BYREF|VT_INT)]
|
---|
345 | INT *pintVal;
|
---|
346 | [case (VT_BYREF|VT_UINT)]
|
---|
347 | UINT *puintVal;
|
---|
348 | [case (VT_EMPTY)];
|
---|
349 | [case (VT_NULL)];
|
---|
350 | };
|
---|
351 | };
|
---|
352 |
|
---|
353 | cpp_quote("")
|
---|
354 | typedef LONG DISPID;
|
---|
355 | typedef DISPID MEMBERID;
|
---|
356 | typedef DWORD HREFTYPE;
|
---|
357 | typedef [v1_enum] enum tagTYPEKIND {
|
---|
358 | TKIND_ENUM = 0,
|
---|
359 | TKIND_RECORD,
|
---|
360 | TKIND_MODULE,
|
---|
361 | TKIND_INTERFACE,
|
---|
362 | TKIND_DISPATCH,
|
---|
363 | TKIND_COCLASS,
|
---|
364 | TKIND_ALIAS,
|
---|
365 | TKIND_UNION,
|
---|
366 | TKIND_MAX
|
---|
367 | } TYPEKIND;
|
---|
368 |
|
---|
369 | cpp_quote("")
|
---|
370 | typedef struct tagTYPEDESC {
|
---|
371 | [switch_type (VARTYPE), switch_is (vt)] union {
|
---|
372 | [case (VT_PTR, VT_SAFEARRAY)] struct tagTYPEDESC *lptdesc;
|
---|
373 | [case (VT_CARRAY)] struct tagARRAYDESC *lpadesc;
|
---|
374 | [case (VT_USERDEFINED)] HREFTYPE hreftype;
|
---|
375 | [default];
|
---|
376 | };
|
---|
377 | VARTYPE vt;
|
---|
378 | } TYPEDESC;
|
---|
379 |
|
---|
380 | cpp_quote("")
|
---|
381 | typedef struct tagARRAYDESC {
|
---|
382 | TYPEDESC tdescElem;
|
---|
383 | USHORT cDims;
|
---|
384 | [size_is (cDims)] SAFEARRAYBOUND rgbounds[];
|
---|
385 | } ARRAYDESC;
|
---|
386 |
|
---|
387 | cpp_quote("")
|
---|
388 | typedef struct tagPARAMDESCEX {
|
---|
389 | ULONG cBytes;
|
---|
390 | VARIANTARG varDefaultValue;
|
---|
391 | } PARAMDESCEX,*LPPARAMDESCEX;
|
---|
392 |
|
---|
393 | cpp_quote("")
|
---|
394 | typedef struct tagPARAMDESC {
|
---|
395 | LPPARAMDESCEX pparamdescex;
|
---|
396 | USHORT wParamFlags;
|
---|
397 | } PARAMDESC,*LPPARAMDESC;
|
---|
398 |
|
---|
399 | cpp_quote("")
|
---|
400 | const USHORT PARAMFLAG_NONE = 0x00;
|
---|
401 | const USHORT PARAMFLAG_FIN = 0x01;
|
---|
402 | const USHORT PARAMFLAG_FOUT = 0x02;
|
---|
403 | const USHORT PARAMFLAG_FLCID = 0x04;
|
---|
404 | const USHORT PARAMFLAG_FRETVAL = 0x08;
|
---|
405 | const USHORT PARAMFLAG_FOPT = 0x10;
|
---|
406 | const USHORT PARAMFLAG_FHASDEFAULT = 0x20;
|
---|
407 | const USHORT PARAMFLAG_FHASCUSTDATA = 0x40;
|
---|
408 |
|
---|
409 | cpp_quote("")
|
---|
410 | typedef struct tagIDLDESC {
|
---|
411 | ULONG_PTR dwReserved;
|
---|
412 | USHORT wIDLFlags;
|
---|
413 | } IDLDESC,*LPIDLDESC;
|
---|
414 |
|
---|
415 | cpp_quote("")
|
---|
416 | const USHORT IDLFLAG_NONE = PARAMFLAG_NONE;
|
---|
417 | const USHORT IDLFLAG_FIN = PARAMFLAG_FIN;
|
---|
418 | const USHORT IDLFLAG_FOUT = PARAMFLAG_FOUT;
|
---|
419 | const USHORT IDLFLAG_FLCID = PARAMFLAG_FLCID;
|
---|
420 | const USHORT IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL;
|
---|
421 | cpp_quote("")
|
---|
422 | cpp_quote("#if 0")
|
---|
423 | typedef struct tagELEMDESC {
|
---|
424 | TYPEDESC tdesc;
|
---|
425 | PARAMDESC paramdesc;
|
---|
426 | } ELEMDESC;
|
---|
427 | cpp_quote("#else")
|
---|
428 | cpp_quote("")
|
---|
429 | cpp_quote(" typedef struct tagELEMDESC {")
|
---|
430 | cpp_quote(" TYPEDESC tdesc;")
|
---|
431 | cpp_quote(" __C89_NAMELESS union {")
|
---|
432 | cpp_quote(" IDLDESC idldesc;")
|
---|
433 | cpp_quote(" PARAMDESC paramdesc;")
|
---|
434 | cpp_quote(" } DUMMYUNIONNAME;")
|
---|
435 | cpp_quote(" } ELEMDESC,*LPELEMDESC;")
|
---|
436 | cpp_quote("#endif")
|
---|
437 |
|
---|
438 | cpp_quote("")
|
---|
439 | typedef struct tagTYPEATTR {
|
---|
440 | GUID guid;
|
---|
441 | LCID lcid;
|
---|
442 | DWORD dwReserved;
|
---|
443 | MEMBERID memidConstructor;
|
---|
444 | MEMBERID memidDestructor;
|
---|
445 | LPOLESTR lpstrSchema;
|
---|
446 | ULONG cbSizeInstance;
|
---|
447 | TYPEKIND typekind;
|
---|
448 | WORD cFuncs;
|
---|
449 | WORD cVars;
|
---|
450 | WORD cImplTypes;
|
---|
451 | WORD cbSizeVft;
|
---|
452 | WORD cbAlignment;
|
---|
453 | WORD wTypeFlags;
|
---|
454 | WORD wMajorVerNum;
|
---|
455 | WORD wMinorVerNum;
|
---|
456 | TYPEDESC tdescAlias;
|
---|
457 | IDLDESC idldescType;
|
---|
458 | } TYPEATTR,*LPTYPEATTR;
|
---|
459 |
|
---|
460 | cpp_quote("")
|
---|
461 | typedef struct tagDISPPARAMS {
|
---|
462 | [size_is (cArgs)] VARIANTARG *rgvarg;
|
---|
463 | [size_is (cNamedArgs)] DISPID *rgdispidNamedArgs;
|
---|
464 | UINT cArgs;
|
---|
465 | UINT cNamedArgs;
|
---|
466 | } DISPPARAMS;
|
---|
467 | cpp_quote("")
|
---|
468 | cpp_quote("#if 0")
|
---|
469 | typedef struct tagEXCEPINFO {
|
---|
470 | WORD wCode;
|
---|
471 | WORD wReserved;
|
---|
472 | BSTR bstrSource;
|
---|
473 | BSTR bstrDescription;
|
---|
474 | BSTR bstrHelpFile;
|
---|
475 | DWORD dwHelpContext;
|
---|
476 | ULONG_PTR pvReserved;
|
---|
477 | ULONG_PTR pfnDeferredFillIn;
|
---|
478 | SCODE scode;
|
---|
479 | } EXCEPINFO;
|
---|
480 | cpp_quote("#else")
|
---|
481 | cpp_quote(" typedef struct tagEXCEPINFO {")
|
---|
482 | cpp_quote(" WORD wCode;")
|
---|
483 | cpp_quote(" WORD wReserved;")
|
---|
484 | cpp_quote(" BSTR bstrSource;")
|
---|
485 | cpp_quote(" BSTR bstrDescription;")
|
---|
486 | cpp_quote(" BSTR bstrHelpFile;")
|
---|
487 | cpp_quote(" DWORD dwHelpContext;")
|
---|
488 | cpp_quote(" PVOID pvReserved;")
|
---|
489 | cpp_quote(" HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);")
|
---|
490 | cpp_quote(" SCODE scode;")
|
---|
491 | cpp_quote(" } EXCEPINFO, *LPEXCEPINFO;")
|
---|
492 | cpp_quote("#endif")
|
---|
493 |
|
---|
494 | cpp_quote("")
|
---|
495 | typedef [v1_enum] enum tagCALLCONV {
|
---|
496 | CC_FASTCALL = 0,
|
---|
497 | CC_CDECL = 1,
|
---|
498 | CC_MSCPASCAL,
|
---|
499 | CC_PASCAL = CC_MSCPASCAL,
|
---|
500 | CC_MACPASCAL,
|
---|
501 | CC_STDCALL,
|
---|
502 | CC_FPFASTCALL,
|
---|
503 | CC_SYSCALL,
|
---|
504 | CC_MPWCDECL,
|
---|
505 | CC_MPWPASCAL,
|
---|
506 | CC_MAX
|
---|
507 | } CALLCONV;
|
---|
508 |
|
---|
509 | cpp_quote("")
|
---|
510 | typedef [v1_enum] enum tagFUNCKIND {
|
---|
511 | FUNC_VIRTUAL,
|
---|
512 | FUNC_PUREVIRTUAL,
|
---|
513 | FUNC_NONVIRTUAL,
|
---|
514 | FUNC_STATIC,
|
---|
515 | FUNC_DISPATCH
|
---|
516 | } FUNCKIND;
|
---|
517 |
|
---|
518 | cpp_quote("")
|
---|
519 | typedef [v1_enum] enum tagINVOKEKIND {
|
---|
520 | INVOKE_FUNC = 1,
|
---|
521 | INVOKE_PROPERTYGET = 2,
|
---|
522 | INVOKE_PROPERTYPUT = 4,
|
---|
523 | INVOKE_PROPERTYPUTREF = 8
|
---|
524 | } INVOKEKIND;
|
---|
525 |
|
---|
526 | cpp_quote("")
|
---|
527 | typedef struct tagFUNCDESC {
|
---|
528 | MEMBERID memid;
|
---|
529 | [size_is (cScodes)] SCODE *lprgscode;
|
---|
530 | [size_is (cParams)] ELEMDESC *lprgelemdescParam;
|
---|
531 | FUNCKIND funckind;
|
---|
532 | INVOKEKIND invkind;
|
---|
533 | CALLCONV callconv;
|
---|
534 | SHORT cParams;
|
---|
535 | SHORT cParamsOpt;
|
---|
536 | SHORT oVft;
|
---|
537 | SHORT cScodes;
|
---|
538 | ELEMDESC elemdescFunc;
|
---|
539 | WORD wFuncFlags;
|
---|
540 | } FUNCDESC,*LPFUNCDESC;
|
---|
541 |
|
---|
542 | cpp_quote("")
|
---|
543 | typedef [v1_enum] enum tagVARKIND {
|
---|
544 | VAR_PERINSTANCE,
|
---|
545 | VAR_STATIC,
|
---|
546 | VAR_CONST,
|
---|
547 | VAR_DISPATCH
|
---|
548 | } VARKIND;
|
---|
549 |
|
---|
550 | cpp_quote("")
|
---|
551 | const USHORT IMPLTYPEFLAG_FDEFAULT = 0x1;
|
---|
552 | const USHORT IMPLTYPEFLAG_FSOURCE = 0x2;
|
---|
553 | const USHORT IMPLTYPEFLAG_FRESTRICTED = 0x4;
|
---|
554 | const USHORT IMPLTYPEFLAG_FDEFAULTVTABLE= 0x8;
|
---|
555 |
|
---|
556 | cpp_quote("")
|
---|
557 | typedef struct tagVARDESC {
|
---|
558 | MEMBERID memid;
|
---|
559 | LPOLESTR lpstrSchema;
|
---|
560 | [switch_type (VARKIND), switch_is (varkind)] union {
|
---|
561 | [case (VAR_PERINSTANCE, VAR_DISPATCH, VAR_STATIC)] ULONG oInst;
|
---|
562 | [case (VAR_CONST)] VARIANT *lpvarValue;
|
---|
563 | };
|
---|
564 | ELEMDESC elemdescVar;
|
---|
565 | WORD wVarFlags;
|
---|
566 | VARKIND varkind;
|
---|
567 | } VARDESC,*LPVARDESC;
|
---|
568 |
|
---|
569 | cpp_quote("")
|
---|
570 | typedef enum tagTYPEFLAGS {
|
---|
571 | TYPEFLAG_FAPPOBJECT = 0x01,
|
---|
572 | TYPEFLAG_FCANCREATE = 0x02,
|
---|
573 | TYPEFLAG_FLICENSED = 0x04,
|
---|
574 | TYPEFLAG_FPREDECLID = 0x08,
|
---|
575 | TYPEFLAG_FHIDDEN = 0x10,
|
---|
576 | TYPEFLAG_FCONTROL = 0x20,
|
---|
577 | TYPEFLAG_FDUAL = 0x40,
|
---|
578 | TYPEFLAG_FNONEXTENSIBLE = 0x80,
|
---|
579 | TYPEFLAG_FOLEAUTOMATION = 0x100,
|
---|
580 | TYPEFLAG_FRESTRICTED = 0x200,
|
---|
581 | TYPEFLAG_FAGGREGATABLE = 0x400,
|
---|
582 | TYPEFLAG_FREPLACEABLE = 0x800,
|
---|
583 | TYPEFLAG_FDISPATCHABLE = 0x1000,
|
---|
584 | TYPEFLAG_FREVERSEBIND = 0x2000,
|
---|
585 | TYPEFLAG_FPROXY = 0x4000
|
---|
586 | } TYPEFLAGS;
|
---|
587 |
|
---|
588 | cpp_quote("")
|
---|
589 | typedef enum tagFUNCFLAGS {
|
---|
590 | FUNCFLAG_FRESTRICTED = 0x1,
|
---|
591 | FUNCFLAG_FSOURCE = 0x2,
|
---|
592 | FUNCFLAG_FBINDABLE = 0x4,
|
---|
593 | FUNCFLAG_FREQUESTEDIT = 0x8,
|
---|
594 | FUNCFLAG_FDISPLAYBIND = 0x10,
|
---|
595 | FUNCFLAG_FDEFAULTBIND = 0x20,
|
---|
596 | FUNCFLAG_FHIDDEN = 0x40,
|
---|
597 | FUNCFLAG_FUSESGETLASTERROR = 0x80,
|
---|
598 | FUNCFLAG_FDEFAULTCOLLELEM = 0x100,
|
---|
599 | FUNCFLAG_FUIDEFAULT = 0x200,
|
---|
600 | FUNCFLAG_FNONBROWSABLE = 0x400,
|
---|
601 | FUNCFLAG_FREPLACEABLE = 0x800,
|
---|
602 | FUNCFLAG_FIMMEDIATEBIND = 0x1000
|
---|
603 | } FUNCFLAGS;
|
---|
604 |
|
---|
605 | cpp_quote("")
|
---|
606 | typedef enum tagVARFLAGS {
|
---|
607 | VARFLAG_FREADONLY = 0x1,
|
---|
608 | VARFLAG_FSOURCE = 0x2,
|
---|
609 | VARFLAG_FBINDABLE = 0x4,
|
---|
610 | VARFLAG_FREQUESTEDIT = 0x8,
|
---|
611 | VARFLAG_FDISPLAYBIND = 0x10,
|
---|
612 | VARFLAG_FDEFAULTBIND = 0x20,
|
---|
613 | VARFLAG_FHIDDEN = 0x40,
|
---|
614 | VARFLAG_FRESTRICTED = 0x80,
|
---|
615 | VARFLAG_FDEFAULTCOLLELEM = 0x100,
|
---|
616 | VARFLAG_FUIDEFAULT = 0x200,
|
---|
617 | VARFLAG_FNONBROWSABLE = 0x400,
|
---|
618 | VARFLAG_FREPLACEABLE = 0x800,
|
---|
619 | VARFLAG_FIMMEDIATEBIND = 0x1000
|
---|
620 | } VARFLAGS;
|
---|
621 |
|
---|
622 | cpp_quote("")
|
---|
623 | typedef [wire_marshal (DWORD)] struct tagCLEANLOCALSTORAGE {
|
---|
624 | IUnknown *pInterface;
|
---|
625 | PVOID pStorage;
|
---|
626 | DWORD flags;
|
---|
627 | } CLEANLOCALSTORAGE;
|
---|
628 |
|
---|
629 | cpp_quote("")
|
---|
630 | typedef struct tagCUSTDATAITEM {
|
---|
631 | GUID guid;
|
---|
632 | VARIANTARG varValue;
|
---|
633 | } CUSTDATAITEM,*LPCUSTDATAITEM;
|
---|
634 |
|
---|
635 | cpp_quote("")
|
---|
636 | typedef struct tagCUSTDATA {
|
---|
637 | DWORD cCustData;
|
---|
638 | [size_is (cCustData)] LPCUSTDATAITEM prgCustData;
|
---|
639 | } CUSTDATA,*LPCUSTDATA;
|
---|
640 | }
|
---|
641 | cpp_quote("#endif")
|
---|
642 | cpp_quote("")
|
---|
643 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
644 | [object, uuid (00020405-0000-0000-C000-000000000046), pointer_default (unique), local]
|
---|
645 | interface ICreateTypeInfo: IUnknown {
|
---|
646 | typedef [unique] ICreateTypeInfo *LPCREATETYPEINFO;
|
---|
647 | cpp_quote("")
|
---|
648 | HRESULT SetGuid ([in] REFGUID guid);
|
---|
649 | HRESULT SetTypeFlags ([in] UINT uTypeFlags);
|
---|
650 | HRESULT SetDocString ([in] LPOLESTR pStrDoc);
|
---|
651 | HRESULT SetHelpContext ([in] DWORD dwHelpContext);
|
---|
652 | HRESULT SetVersion ([in] WORD wMajorVerNum,[in] WORD wMinorVerNum);
|
---|
653 | HRESULT AddRefTypeInfo ([in] ITypeInfo *pTInfo,[in] HREFTYPE *phRefType);
|
---|
654 | HRESULT AddFuncDesc ([in] UINT index,[in] FUNCDESC *pFuncDesc);
|
---|
655 | HRESULT AddImplType ([in] UINT index,[in] HREFTYPE hRefType);
|
---|
656 | HRESULT SetImplTypeFlags ([in] UINT index,[in] INT implTypeFlags);
|
---|
657 | HRESULT SetAlignment ([in] WORD cbAlignment);
|
---|
658 | HRESULT SetSchema ([in] LPOLESTR pStrSchema);
|
---|
659 | HRESULT AddVarDesc ([in] UINT index,[in] VARDESC *pVarDesc);
|
---|
660 | HRESULT SetFuncAndParamNames ([in] UINT index,[in, size_is ((UINT) cNames)] LPOLESTR *rgszNames,[in] UINT cNames);
|
---|
661 | HRESULT SetVarName ([in] UINT index,[in] LPOLESTR szName);
|
---|
662 | HRESULT SetTypeDescAlias ([in] TYPEDESC *pTDescAlias);
|
---|
663 | HRESULT DefineFuncAsDllEntry ([in] UINT index,[in] LPOLESTR szDllName,[in] LPOLESTR szProcName);
|
---|
664 | HRESULT SetFuncDocString ([in] UINT index,[in] LPOLESTR szDocString);
|
---|
665 | HRESULT SetVarDocString ([in] UINT index,[in] LPOLESTR szDocString);
|
---|
666 | HRESULT SetFuncHelpContext ([in] UINT index,[in] DWORD dwHelpContext);
|
---|
667 | HRESULT SetVarHelpContext ([in] UINT index,[in] DWORD dwHelpContext);
|
---|
668 | HRESULT SetMops ([in] UINT index,[in] BSTR bstrMops);
|
---|
669 | HRESULT SetTypeIdldesc ([in] IDLDESC *pIdlDesc);
|
---|
670 | HRESULT LayOut (void);
|
---|
671 | }
|
---|
672 |
|
---|
673 | cpp_quote("")
|
---|
674 | [object, uuid (0002040e-0000-0000-C000-000000000046), pointer_default (unique), local]
|
---|
675 | interface ICreateTypeInfo2: ICreateTypeInfo {
|
---|
676 | typedef [unique] ICreateTypeInfo2 *LPCREATETYPEINFO2;
|
---|
677 | cpp_quote("")
|
---|
678 | HRESULT DeleteFuncDesc ([in] UINT index);
|
---|
679 | HRESULT DeleteFuncDescByMemId ([in] MEMBERID memid,[in] INVOKEKIND invKind);
|
---|
680 | HRESULT DeleteVarDesc ([in] UINT index);
|
---|
681 | HRESULT DeleteVarDescByMemId ([in] MEMBERID memid);
|
---|
682 | HRESULT DeleteImplType ([in] UINT index);
|
---|
683 | HRESULT SetCustData ([in] REFGUID guid,[in] VARIANT *pVarVal);
|
---|
684 | HRESULT SetFuncCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal);
|
---|
685 | HRESULT SetParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[in] REFGUID guid,[in] VARIANT *pVarVal);
|
---|
686 | HRESULT SetVarCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal);
|
---|
687 | HRESULT SetImplTypeCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal);
|
---|
688 | HRESULT SetHelpStringContext ([in] ULONG dwHelpStringContext);
|
---|
689 | HRESULT SetFuncHelpStringContext ([in] UINT index,[in] ULONG dwHelpStringContext);
|
---|
690 | HRESULT SetVarHelpStringContext ([in] UINT index,[in] ULONG dwHelpStringContext);
|
---|
691 | HRESULT Invalidate (void);
|
---|
692 | HRESULT SetName ([in] LPOLESTR szName);
|
---|
693 | }
|
---|
694 | cpp_quote("")
|
---|
695 | [object, uuid (00020406-0000-0000-C000-000000000046), pointer_default (unique), local]
|
---|
696 | interface ICreateTypeLib : IUnknown {
|
---|
697 | typedef [unique] ICreateTypeLib *LPCREATETYPELIB;
|
---|
698 | cpp_quote("")
|
---|
699 | HRESULT CreateTypeInfo ([in] LPOLESTR szName,[in] TYPEKIND tkind,[out] ICreateTypeInfo **ppCTInfo);
|
---|
700 | HRESULT SetName ([in] LPOLESTR szName);
|
---|
701 | HRESULT SetVersion ([in] WORD wMajorVerNum,[in] WORD wMinorVerNum);
|
---|
702 | HRESULT SetGuid ([in] REFGUID guid);
|
---|
703 | HRESULT SetDocString ([in] LPOLESTR szDoc);
|
---|
704 | HRESULT SetHelpFileName ([in] LPOLESTR szHelpFileName);
|
---|
705 | HRESULT SetHelpContext ([in] DWORD dwHelpContext);
|
---|
706 | HRESULT SetLcid ([in] LCID lcid);
|
---|
707 | HRESULT SetLibFlags ([in] UINT uLibFlags);
|
---|
708 | HRESULT SaveAllChanges (void);
|
---|
709 | }
|
---|
710 | cpp_quote("")
|
---|
711 | [object, uuid (0002040f-0000-0000-C000-000000000046), pointer_default (unique), local]
|
---|
712 | interface ICreateTypeLib2 : ICreateTypeLib {
|
---|
713 | typedef [unique] ICreateTypeLib2 *LPCREATETYPELIB2;
|
---|
714 | HRESULT DeleteTypeInfo ([in] LPOLESTR szName);
|
---|
715 | HRESULT SetCustData ([in] REFGUID guid,[in] VARIANT *pVarVal);
|
---|
716 | HRESULT SetHelpStringContext ([in] ULONG dwHelpStringContext);
|
---|
717 | HRESULT SetHelpStringDll ([in] LPOLESTR szFileName);
|
---|
718 | }
|
---|
719 | cpp_quote("#endif")
|
---|
720 | cpp_quote("")
|
---|
721 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
|
---|
722 | [object, uuid (00020400-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
723 | interface IDispatch : IUnknown {
|
---|
724 | typedef [unique] IDispatch *LPDISPATCH;
|
---|
725 | cpp_quote("")
|
---|
726 | HRESULT GetTypeInfoCount ([out] UINT *pctinfo);
|
---|
727 | HRESULT GetTypeInfo ([in] UINT iTInfo,[in] LCID lcid,[out] ITypeInfo **ppTInfo);
|
---|
728 | HRESULT GetIDsOfNames ([in] REFIID riid,[in, size_is (cNames)] LPOLESTR *rgszNames,[in, range (0, 16384)] UINT cNames,[in] LCID lcid,[out, size_is (cNames)] DISPID *rgDispId);
|
---|
729 | [local] HRESULT Invoke ([in] DISPID dispIdMember,[in] REFIID riid,[in] LCID lcid,[in] WORD wFlags,[in, out] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *puArgErr);
|
---|
730 | [call_as (Invoke)] HRESULT RemoteInvoke ([in] DISPID dispIdMember,[in] REFIID riid,[in] LCID lcid,[in] DWORD dwFlags,[in] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *pArgErr,[in] UINT cVarRef,[in, size_is (cVarRef)] UINT *rgVarRefIdx,[in, out, size_is (cVarRef)] VARIANTARG *rgVarRef);
|
---|
731 | cpp_quote("")
|
---|
732 | const DISPID DISPID_UNKNOWN = -1;
|
---|
733 | const DISPID DISPID_VALUE = 0;
|
---|
734 | const DISPID DISPID_PROPERTYPUT = -3;
|
---|
735 | const DISPID DISPID_NEWENUM = -4;
|
---|
736 | const DISPID DISPID_EVALUATE = -5;
|
---|
737 | const DISPID DISPID_CONSTRUCTOR = -6;
|
---|
738 | const DISPID DISPID_DESTRUCTOR = -7;
|
---|
739 | const DISPID DISPID_COLLECT = -8;
|
---|
740 | cpp_quote("")
|
---|
741 | }
|
---|
742 |
|
---|
743 | cpp_quote("")
|
---|
744 | [object, uuid (00020404-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
745 | interface IEnumVARIANT : IUnknown {
|
---|
746 | typedef [unique] IEnumVARIANT *LPENUMVARIANT;
|
---|
747 | cpp_quote("")
|
---|
748 | [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pCeltFetched)] VARIANT *rgVar,[out] ULONG *pCeltFetched);
|
---|
749 | [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pCeltFetched)] VARIANT *rgVar,[out] ULONG *pCeltFetched);
|
---|
750 | HRESULT Skip ([in] ULONG celt);
|
---|
751 | HRESULT Reset ();
|
---|
752 | HRESULT Clone ([out] IEnumVARIANT **ppEnum);
|
---|
753 | }
|
---|
754 |
|
---|
755 | cpp_quote("")
|
---|
756 | [object, uuid (00020403-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
757 | interface ITypeComp : IUnknown {
|
---|
758 | typedef [unique] ITypeComp *LPTYPECOMP;
|
---|
759 | cpp_quote("")
|
---|
760 | typedef [v1_enum] enum tagDESCKIND {
|
---|
761 | DESCKIND_NONE = 0,
|
---|
762 | DESCKIND_FUNCDESC,
|
---|
763 | DESCKIND_VARDESC,
|
---|
764 | DESCKIND_TYPECOMP,
|
---|
765 | DESCKIND_IMPLICITAPPOBJ,
|
---|
766 | DESCKIND_MAX
|
---|
767 | } DESCKIND;
|
---|
768 | cpp_quote("")
|
---|
769 | typedef union tagBINDPTR {
|
---|
770 | FUNCDESC *lpfuncdesc;
|
---|
771 | VARDESC *lpvardesc;
|
---|
772 | ITypeComp *lptcomp;
|
---|
773 | } BINDPTR,*LPBINDPTR;
|
---|
774 | cpp_quote("")
|
---|
775 | [local] HRESULT Bind ([in] LPOLESTR szName,[in] ULONG lHashVal,[in] WORD wFlags,[out] ITypeInfo **ppTInfo,[out] DESCKIND *pDescKind,[out] BINDPTR *pBindPtr);
|
---|
776 | [call_as (Bind)] HRESULT RemoteBind ([in] LPOLESTR szName,[in] ULONG lHashVal,[in] WORD wFlags,[out] ITypeInfo **ppTInfo,[out] DESCKIND *pDescKind,[out] LPFUNCDESC *ppFuncDesc,[out] LPVARDESC *ppVarDesc,[out] ITypeComp **ppTypeComp,[out] CLEANLOCALSTORAGE *pDummy);
|
---|
777 | [local] HRESULT BindType ([in] LPOLESTR szName,[in] ULONG lHashVal,[out] ITypeInfo **ppTInfo,[out] ITypeComp **ppTComp);
|
---|
778 | [call_as (BindType)] HRESULT RemoteBindType ([in] LPOLESTR szName,[in] ULONG lHashVal,[out] ITypeInfo **ppTInfo);
|
---|
779 | }
|
---|
780 | cpp_quote("#endif")
|
---|
781 | cpp_quote("")
|
---|
782 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
783 | [object, uuid (00020401-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
784 | interface ITypeInfo : IUnknown {
|
---|
785 | typedef [unique] ITypeInfo *LPTYPEINFO;
|
---|
786 | cpp_quote("")
|
---|
787 | [local] HRESULT GetTypeAttr ([out] TYPEATTR **ppTypeAttr);
|
---|
788 | [call_as (GetTypeAttr)] HRESULT RemoteGetTypeAttr ([out] LPTYPEATTR *ppTypeAttr,[out] CLEANLOCALSTORAGE *pDummy);
|
---|
789 | HRESULT GetTypeComp ([out] ITypeComp **ppTComp);
|
---|
790 | [local] HRESULT GetFuncDesc ([in] UINT index,[out] FUNCDESC **ppFuncDesc);
|
---|
791 | [call_as (GetFuncDesc)] HRESULT RemoteGetFuncDesc ([in] UINT index,[out] LPFUNCDESC *ppFuncDesc,[out] CLEANLOCALSTORAGE *pDummy);
|
---|
792 | [local] HRESULT GetVarDesc ([in] UINT index,[out] VARDESC **ppVarDesc);
|
---|
793 | [call_as (GetVarDesc)] HRESULT RemoteGetVarDesc ([in] UINT index,[out] LPVARDESC *ppVarDesc,[out] CLEANLOCALSTORAGE *pDummy);
|
---|
794 | [local] HRESULT GetNames ([in] MEMBERID memid,[out, size_is (cMaxNames), length_is (*pcNames)] BSTR *rgBstrNames,[in] UINT cMaxNames,[out] UINT *pcNames);
|
---|
795 | [call_as (GetNames)] HRESULT RemoteGetNames ([in] MEMBERID memid,[out, size_is (cMaxNames), length_is (*pcNames)] BSTR *rgBstrNames,[in] UINT cMaxNames,[out] UINT *pcNames);
|
---|
796 | HRESULT GetRefTypeOfImplType ([in] UINT index,[out] HREFTYPE *pRefType);
|
---|
797 | HRESULT GetImplTypeFlags ([in] UINT index,[out] INT *pImplTypeFlags);
|
---|
798 | [local] HRESULT GetIDsOfNames ([in, size_is (cNames)] LPOLESTR *rgszNames,[in] UINT cNames,[out, size_is (cNames)] MEMBERID *pMemId);
|
---|
799 | [call_as (GetIDsOfNames)] HRESULT LocalGetIDsOfNames (void);
|
---|
800 | [local] HRESULT Invoke ([in] PVOID pvInstance,[in] MEMBERID memid,[in] WORD wFlags,[in, out] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *puArgErr);
|
---|
801 | [call_as (Invoke)] HRESULT LocalInvoke (void);
|
---|
802 | [local] HRESULT GetDocumentation ([in] MEMBERID memid,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile);
|
---|
803 | [call_as (GetDocumentation)] HRESULT RemoteGetDocumentation ([in] MEMBERID memid,[in] DWORD refPtrFlags,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile);
|
---|
804 | [local]
|
---|
805 | HRESULT GetDllEntry ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] BSTR *pBstrDllName,[out] BSTR *pBstrName,[out] WORD *pwOrdinal);
|
---|
806 | [call_as (GetDllEntry)]
|
---|
807 | HRESULT RemoteGetDllEntry ([in] MEMBERID memid,[in] INVOKEKIND invKind,[in] DWORD refPtrFlags,[out] BSTR *pBstrDllName,[out] BSTR *pBstrName,[out] WORD *pwOrdinal);
|
---|
808 | HRESULT GetRefTypeInfo ([in] HREFTYPE hRefType,[out] ITypeInfo **ppTInfo);
|
---|
809 | [local] HRESULT AddressOfMember ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] PVOID *ppv);
|
---|
810 | [call_as (AddressOfMember)] HRESULT LocalAddressOfMember (void);
|
---|
811 | [local] HRESULT CreateInstance ([in] IUnknown *pUnkOuter,[in] REFIID riid,[out, iid_is (riid)] PVOID *ppvObj);
|
---|
812 | [call_as (CreateInstance)] HRESULT RemoteCreateInstance ([in] REFIID riid,[out, iid_is (riid)] IUnknown **ppvObj);
|
---|
813 | HRESULT GetMops ([in] MEMBERID memid,[out] BSTR *pBstrMops);
|
---|
814 | [local] HRESULT GetContainingTypeLib ([out] ITypeLib **ppTLib,[out] UINT *pIndex);
|
---|
815 | [call_as (GetContainingTypeLib)] HRESULT RemoteGetContainingTypeLib ([out] ITypeLib **ppTLib,[out] UINT *pIndex);
|
---|
816 | [local] void ReleaseTypeAttr ([in] TYPEATTR *pTypeAttr);
|
---|
817 | [call_as (ReleaseTypeAttr)] HRESULT LocalReleaseTypeAttr (void);
|
---|
818 | [local] void ReleaseFuncDesc ([in] FUNCDESC *pFuncDesc);
|
---|
819 | [call_as (ReleaseFuncDesc)] HRESULT LocalReleaseFuncDesc (void);
|
---|
820 | [local] void ReleaseVarDesc ([in] VARDESC *pVarDesc);
|
---|
821 | [call_as (ReleaseVarDesc)] HRESULT LocalReleaseVarDesc (void);
|
---|
822 | }
|
---|
823 |
|
---|
824 | cpp_quote("")
|
---|
825 | [object, uuid (00020412-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
826 | interface ITypeInfo2 : ITypeInfo {
|
---|
827 | typedef [unique] ITypeInfo2 *LPTYPEINFO2;
|
---|
828 | cpp_quote("")
|
---|
829 | HRESULT GetTypeKind ([out] TYPEKIND *pTypeKind);
|
---|
830 | HRESULT GetTypeFlags ([out] ULONG *pTypeFlags);
|
---|
831 | HRESULT GetFuncIndexOfMemId ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] UINT *pFuncIndex);
|
---|
832 | HRESULT GetVarIndexOfMemId ([in] MEMBERID memid,[out] UINT *pVarIndex);
|
---|
833 | HRESULT GetCustData ([in] REFGUID guid,[out] VARIANT *pVarVal);
|
---|
834 | HRESULT GetFuncCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal);
|
---|
835 | HRESULT GetParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[in] REFGUID guid,[out] VARIANT *pVarVal);
|
---|
836 | HRESULT GetVarCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal);
|
---|
837 | HRESULT GetImplTypeCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal);
|
---|
838 | [local] HRESULT GetDocumentation2 ([in] MEMBERID memid,[in] LCID lcid,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll);
|
---|
839 | [call_as (GetDocumentation2)] HRESULT RemoteGetDocumentation2 ([in] MEMBERID memid,[in] LCID lcid,[in] DWORD refPtrFlags,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll);
|
---|
840 | HRESULT GetAllCustData ([out] CUSTDATA *pCustData);
|
---|
841 | HRESULT GetAllFuncCustData ([in] UINT index,[out] CUSTDATA *pCustData);
|
---|
842 | HRESULT GetAllParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[out] CUSTDATA *pCustData);
|
---|
843 | HRESULT GetAllVarCustData ([in] UINT index,[out] CUSTDATA *pCustData);
|
---|
844 | HRESULT GetAllImplTypeCustData ([in] UINT index,[out] CUSTDATA *pCustData);
|
---|
845 | }
|
---|
846 | cpp_quote("#endif")
|
---|
847 | cpp_quote("")
|
---|
848 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
|
---|
849 | [object, uuid (00020402-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
850 | interface ITypeLib : IUnknown {
|
---|
851 | typedef [v1_enum] enum tagSYSKIND {
|
---|
852 | SYS_WIN16 = 0,
|
---|
853 | SYS_WIN32,
|
---|
854 | SYS_MAC,
|
---|
855 | SYS_WIN64
|
---|
856 | } SYSKIND;
|
---|
857 | cpp_quote("")
|
---|
858 | typedef [v1_enum] enum tagLIBFLAGS {
|
---|
859 | LIBFLAG_FRESTRICTED = 0x01,
|
---|
860 | LIBFLAG_FCONTROL = 0x02,
|
---|
861 | LIBFLAG_FHIDDEN = 0x04,
|
---|
862 | LIBFLAG_FHASDISKIMAGE = 0x08
|
---|
863 | } LIBFLAGS;
|
---|
864 | cpp_quote("")
|
---|
865 | typedef [unique] ITypeLib *LPTYPELIB;
|
---|
866 | cpp_quote("")
|
---|
867 | typedef struct tagTLIBATTR {
|
---|
868 | GUID guid;
|
---|
869 | LCID lcid;
|
---|
870 | SYSKIND syskind;
|
---|
871 | WORD wMajorVerNum;
|
---|
872 | WORD wMinorVerNum;
|
---|
873 | WORD wLibFlags;
|
---|
874 | } TLIBATTR,*LPTLIBATTR;
|
---|
875 | cpp_quote("")
|
---|
876 | [local] UINT GetTypeInfoCount (void);
|
---|
877 | [call_as (GetTypeInfoCount)] HRESULT RemoteGetTypeInfoCount ([out] UINT *pcTInfo);
|
---|
878 | HRESULT GetTypeInfo ([in] UINT index,[out] ITypeInfo **ppTInfo);
|
---|
879 | HRESULT GetTypeInfoType ([in] UINT index,[out] TYPEKIND *pTKind);
|
---|
880 | HRESULT GetTypeInfoOfGuid ([in] REFGUID guid,[out] ITypeInfo **ppTinfo);
|
---|
881 | [local] HRESULT GetLibAttr ([out] TLIBATTR **ppTLibAttr);
|
---|
882 | [call_as (GetLibAttr)] HRESULT RemoteGetLibAttr ([out] LPTLIBATTR *ppTLibAttr,[out] CLEANLOCALSTORAGE *pDummy);
|
---|
883 | HRESULT GetTypeComp ([out] ITypeComp **ppTComp);
|
---|
884 | [local] HRESULT GetDocumentation ([in] INT index,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile);
|
---|
885 | [call_as (GetDocumentation)] HRESULT RemoteGetDocumentation ([in] INT index,[in] DWORD refPtrFlags,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile);
|
---|
886 | [local] HRESULT IsName ([in, out] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out] BOOL *pfName);
|
---|
887 | [call_as (IsName)] HRESULT RemoteIsName ([in] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out] BOOL *pfName,[out] BSTR *pBstrLibName);
|
---|
888 | [local] HRESULT FindName ([in, out] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out, size_is (*pcFound), length_is (*pcFound)] ITypeInfo **ppTInfo,[out, size_is (*pcFound), length_is (*pcFound)] MEMBERID *rgMemId,[in, out] USHORT *pcFound);
|
---|
889 | [call_as (FindName)] HRESULT RemoteFindName ([in] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out, size_is (*pcFound), length_is (*pcFound)] ITypeInfo **ppTInfo,[out, size_is (*pcFound), length_is (*pcFound)] MEMBERID *rgMemId,[in, out] USHORT *pcFound,[out] BSTR *pBstrLibName);
|
---|
890 | [local] void ReleaseTLibAttr ([in] TLIBATTR *pTLibAttr);
|
---|
891 | [call_as (ReleaseTLibAttr)] HRESULT LocalReleaseTLibAttr (void);
|
---|
892 | }
|
---|
893 | cpp_quote("#endif")
|
---|
894 | cpp_quote("")
|
---|
895 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
896 | [object, uuid (00020411-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
897 | interface ITypeLib2 : ITypeLib {
|
---|
898 | typedef [unique] ITypeLib2 *LPTYPELIB2;
|
---|
899 | cpp_quote("")
|
---|
900 | HRESULT GetCustData ([in] REFGUID guid,[out] VARIANT *pVarVal);
|
---|
901 | [local] HRESULT GetLibStatistics ([out] ULONG *pcUniqueNames,[out] ULONG *pcchUniqueNames);
|
---|
902 | [call_as (GetLibStatistics)] HRESULT RemoteGetLibStatistics ([out] ULONG *pcUniqueNames,[out] ULONG *pcchUniqueNames);
|
---|
903 | [local] HRESULT GetDocumentation2 ([in] INT index,[in] LCID lcid,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll);
|
---|
904 | [call_as (GetDocumentation2)] HRESULT RemoteGetDocumentation2 ([in] INT index,[in] LCID lcid,[in] DWORD refPtrFlags,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll);
|
---|
905 | HRESULT GetAllCustData ([out] CUSTDATA *pCustData);
|
---|
906 | }
|
---|
907 |
|
---|
908 | cpp_quote("")
|
---|
909 | [object, uuid (00020410-0000-0000-C000-000000000046), pointer_default (unique), local]
|
---|
910 | interface ITypeChangeEvents: IUnknown {
|
---|
911 | typedef [unique] ITypeChangeEvents *LPTYPECHANGEEVENTS;
|
---|
912 | cpp_quote("")
|
---|
913 | typedef enum tagCHANGEKIND {
|
---|
914 | CHANGEKIND_ADDMEMBER,
|
---|
915 | CHANGEKIND_DELETEMEMBER,
|
---|
916 | CHANGEKIND_SETNAMES,
|
---|
917 | CHANGEKIND_SETDOCUMENTATION,
|
---|
918 | CHANGEKIND_GENERAL,
|
---|
919 | CHANGEKIND_INVALIDATE,
|
---|
920 | CHANGEKIND_CHANGEFAILED,
|
---|
921 | CHANGEKIND_MAX
|
---|
922 | } CHANGEKIND;
|
---|
923 | cpp_quote("")
|
---|
924 | HRESULT RequestTypeChange ([in] CHANGEKIND changeKind,[in] ITypeInfo *pTInfoBefore,[in] LPOLESTR pStrName,[out] INT *pfCancel);
|
---|
925 | HRESULT AfterTypeChange ([in] CHANGEKIND changeKind,[in] ITypeInfo *pTInfoAfter,[in] LPOLESTR pStrName);
|
---|
926 | }
|
---|
927 |
|
---|
928 | cpp_quote("")
|
---|
929 | [object, uuid (1cf2b120-547d-101b-8e65-08002b2bd119), pointer_default (unique)]
|
---|
930 | interface IErrorInfo: IUnknown {
|
---|
931 | typedef [unique] IErrorInfo *LPERRORINFO;
|
---|
932 | cpp_quote("")
|
---|
933 | HRESULT GetGUID ([out] GUID *pGUID);
|
---|
934 | HRESULT GetSource ([out] BSTR *pBstrSource);
|
---|
935 | HRESULT GetDescription ([out] BSTR *pBstrDescription);
|
---|
936 | HRESULT GetHelpFile ([out] BSTR *pBstrHelpFile);
|
---|
937 | HRESULT GetHelpContext ([out] DWORD *pdwHelpContext);
|
---|
938 | }
|
---|
939 |
|
---|
940 | cpp_quote("")
|
---|
941 | [object, uuid (22f03340-547d-101b-8e65-08002b2bd119), pointer_default (unique)]
|
---|
942 | interface ICreateErrorInfo: IUnknown {
|
---|
943 | typedef [unique] ICreateErrorInfo *LPCREATEERRORINFO;
|
---|
944 | cpp_quote("")
|
---|
945 | HRESULT SetGUID ([in] REFGUID rguid);
|
---|
946 | HRESULT SetSource ([in] LPOLESTR szSource);
|
---|
947 | HRESULT SetDescription ([in] LPOLESTR szDescription);
|
---|
948 | HRESULT SetHelpFile ([in] LPOLESTR szHelpFile);
|
---|
949 | HRESULT SetHelpContext ([in] DWORD dwHelpContext);
|
---|
950 | }
|
---|
951 |
|
---|
952 | cpp_quote("")
|
---|
953 | [object, uuid (DF0B3D60-548f-101b-8e65-08002b2bd119), pointer_default (unique)]
|
---|
954 | interface ISupportErrorInfo: IUnknown {
|
---|
955 | typedef [unique] ISupportErrorInfo *LPSUPPORTERRORINFO;
|
---|
956 | cpp_quote("")
|
---|
957 | HRESULT InterfaceSupportsErrorInfo ([in] REFIID riid);
|
---|
958 | }
|
---|
959 |
|
---|
960 | cpp_quote("")
|
---|
961 | [object, uuid (0000002e-0000-0000-C000-000000000046)]
|
---|
962 | interface ITypeFactory : IUnknown {
|
---|
963 | HRESULT CreateFromTypeInfo ([in] ITypeInfo *pTypeInfo,[in] REFIID riid,[out, iid_is (riid)] IUnknown **ppv);
|
---|
964 | }
|
---|
965 |
|
---|
966 | cpp_quote("")
|
---|
967 | [local, object, uuid (0000002d-0000-0000-C000-000000000046)]
|
---|
968 | interface ITypeMarshal : IUnknown {
|
---|
969 | HRESULT Size ([in] PVOID pvType,[in] DWORD dwDestContext,[in] PVOID pvDestContext,[out] ULONG *pSize);
|
---|
970 | HRESULT Marshal ([in] PVOID pvType,[in] DWORD dwDestContext,[in] PVOID pvDestContext,[in] ULONG cbBufferLength,[out] BYTE *pBuffer,[out] ULONG *pcbWritten);
|
---|
971 | HRESULT Unmarshal ([out] PVOID pvType,[in] DWORD dwFlags,[in] ULONG cbBufferLength,[in] BYTE *pBuffer,[out] ULONG *pcbRead);
|
---|
972 | HRESULT Free ([in] PVOID pvType);
|
---|
973 | }
|
---|
974 |
|
---|
975 | cpp_quote("")
|
---|
976 | [local, object, uuid (0000002f-0000-0000-C000-000000000046)]
|
---|
977 | interface IRecordInfo: IUnknown {
|
---|
978 | typedef [unique] IRecordInfo *LPRECORDINFO;
|
---|
979 | cpp_quote("")
|
---|
980 | HRESULT RecordInit ([out] PVOID pvNew);
|
---|
981 | HRESULT RecordClear ([in] PVOID pvExisting);
|
---|
982 | HRESULT RecordCopy ([in] PVOID pvExisting,[out] PVOID pvNew);
|
---|
983 | HRESULT GetGuid ([out] GUID *pguid);
|
---|
984 | HRESULT GetName ([out] BSTR *pbstrName);
|
---|
985 | HRESULT GetSize ([out] ULONG *pcbSize);
|
---|
986 | HRESULT GetTypeInfo ([out] ITypeInfo **ppTypeInfo);
|
---|
987 | HRESULT GetField ([in] PVOID pvData,[in] LPCOLESTR szFieldName,[out] VARIANT *pvarField);
|
---|
988 | HRESULT GetFieldNoCopy ([in] PVOID pvData,[in] LPCOLESTR szFieldName,[out] VARIANT *pvarField,[out] PVOID *ppvDataCArray);
|
---|
989 | HRESULT PutField ([in] ULONG wFlags,[in, out] PVOID pvData,[in] LPCOLESTR szFieldName,[in] VARIANT *pvarField);
|
---|
990 | HRESULT PutFieldNoCopy ([in] ULONG wFlags,[in, out] PVOID pvData,[in] LPCOLESTR szFieldName,[in] VARIANT *pvarField);
|
---|
991 | HRESULT GetFieldNames ([in, out] ULONG *pcNames,[out, size_is (*pcNames), length_is (*pcNames)] BSTR *rgBstrNames);
|
---|
992 | BOOL IsMatchingType ([in] IRecordInfo *pRecordInfo);
|
---|
993 | PVOID RecordCreate ();
|
---|
994 | HRESULT RecordCreateCopy ([in] PVOID pvSource,[out] PVOID *ppvDest);
|
---|
995 | HRESULT RecordDestroy ([in] PVOID pvRecord);
|
---|
996 | }
|
---|
997 |
|
---|
998 | cpp_quote("")
|
---|
999 | [object, uuid (3127ca40-446e-11ce-8135-00aa004bb851), pointer_default (unique)]
|
---|
1000 | interface IErrorLog : IUnknown {
|
---|
1001 | typedef IErrorLog *LPERRORLOG;
|
---|
1002 | cpp_quote("")
|
---|
1003 | HRESULT AddError ([in] LPCOLESTR pszPropName,[in] EXCEPINFO *pExcepInfo);
|
---|
1004 | }
|
---|
1005 |
|
---|
1006 | cpp_quote("")
|
---|
1007 | [object, uuid (55272a00-42cb-11ce-8135-00aa004bb851), pointer_default (unique)]
|
---|
1008 | interface IPropertyBag : IUnknown {
|
---|
1009 | typedef IPropertyBag *LPPROPERTYBAG;
|
---|
1010 | cpp_quote("")
|
---|
1011 | [local] HRESULT Read ([in] LPCOLESTR pszPropName,[in, out] VARIANT *pVar,[in, unique] IErrorLog *pErrorLog);
|
---|
1012 | [call_as (Read)] HRESULT RemoteRead ([in] LPCOLESTR pszPropName,[out] VARIANT *pVar,[in, unique] IErrorLog *pErrorLog,[in] DWORD varType,[in] IUnknown *pUnkObj);
|
---|
1013 | HRESULT Write ([in] LPCOLESTR pszPropName,[in] VARIANT *pVar);
|
---|
1014 | }
|
---|
1015 | cpp_quote("#endif")
|
---|