1 | /*
|
---|
2 | * Copyright 2002 Ove Kaaven
|
---|
3 | *
|
---|
4 | * This library is free software; you can redistribute it and/or
|
---|
5 | * modify it under the terms of the GNU Lesser General Public
|
---|
6 | * License as published by the Free Software Foundation; either
|
---|
7 | * version 2.1 of the License, or (at your option) any later version.
|
---|
8 | *
|
---|
9 | * This library is distributed in the hope that it will be useful,
|
---|
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
12 | * Lesser General Public License for more details.
|
---|
13 | *
|
---|
14 | * You should have received a copy of the GNU Lesser General Public
|
---|
15 | * License along with this library; if not, write to the Free Software
|
---|
16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
---|
17 | */
|
---|
18 |
|
---|
19 | /*
|
---|
20 | * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
21 | * other than GPL or LGPL is available it will apply instead, Sun elects to use only
|
---|
22 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
23 | * a choice of LGPL license versions is made available with the language indicating
|
---|
24 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
25 | * of the LGPL is applied is otherwise unspecified.
|
---|
26 | */
|
---|
27 |
|
---|
28 | #ifndef DO_NO_IMPORTS
|
---|
29 | import "objidl.idl";
|
---|
30 | #endif
|
---|
31 |
|
---|
32 | interface IDispatch;
|
---|
33 | interface ITypeInfo;
|
---|
34 | interface ITypeLib;
|
---|
35 | interface IRecordInfo;
|
---|
36 |
|
---|
37 | [
|
---|
38 | version(1.0),
|
---|
39 | pointer_default(unique)
|
---|
40 | ]
|
---|
41 | interface IOleAutomationTypes
|
---|
42 | {
|
---|
43 |
|
---|
44 | typedef CY CURRENCY;
|
---|
45 |
|
---|
46 | /* Safe Array */
|
---|
47 |
|
---|
48 | typedef struct tagSAFEARRAYBOUND {
|
---|
49 | ULONG cElements;
|
---|
50 | LONG lLbound;
|
---|
51 | } SAFEARRAYBOUND, *LPSAFEARRAYBOUND;
|
---|
52 |
|
---|
53 | typedef [unique] struct _wireVARIANT *wireVARIANT;
|
---|
54 | typedef [unique] struct _wireBRECORD *wireBRECORD;
|
---|
55 |
|
---|
56 | typedef struct _wireSAFEARR_BSTR {
|
---|
57 | ULONG Size;
|
---|
58 | [size_is(Size), ref] wireBSTR *aBstr;
|
---|
59 | } SAFEARR_BSTR;
|
---|
60 |
|
---|
61 | typedef struct _wireSAFEARR_UNKNOWN {
|
---|
62 | ULONG Size;
|
---|
63 | [size_is(Size), ref] IUnknown **apUnknown;
|
---|
64 | } SAFEARR_UNKNOWN;
|
---|
65 |
|
---|
66 | typedef struct _wireSAFEARR_DISPATCH {
|
---|
67 | ULONG Size;
|
---|
68 | [size_is(Size), ref] IDispatch **apDispatch;
|
---|
69 | } SAFEARR_DISPATCH;
|
---|
70 |
|
---|
71 | typedef struct _wireSAFEARR_VARIANT {
|
---|
72 | ULONG Size;
|
---|
73 | [size_is(Size), ref] wireVARIANT *aVariant;
|
---|
74 | } SAFEARR_VARIANT;
|
---|
75 |
|
---|
76 | typedef struct _wireSAFEARR_BRECORD {
|
---|
77 | ULONG Size;
|
---|
78 | [size_is(Size), ref] wireBRECORD *aRecord;
|
---|
79 | } SAFEARR_BRECORD;
|
---|
80 |
|
---|
81 | typedef struct _wireSAFEARR_HAVEIID {
|
---|
82 | ULONG Size;
|
---|
83 | [size_is(Size), ref] IUnknown **apUnknown;
|
---|
84 | IID iid;
|
---|
85 | } SAFEARR_HAVEIID;
|
---|
86 |
|
---|
87 | typedef [v1_enum] enum tagSF_TYPE {
|
---|
88 | SF_ERROR = VT_ERROR,
|
---|
89 | SF_I1 = VT_I1,
|
---|
90 | SF_I2 = VT_I2,
|
---|
91 | SF_I4 = VT_I4,
|
---|
92 | SF_I8 = VT_I8,
|
---|
93 | SF_BSTR = VT_BSTR,
|
---|
94 | SF_UNKNOWN = VT_UNKNOWN,
|
---|
95 | SF_DISPATCH = VT_DISPATCH,
|
---|
96 | SF_VARIANT = VT_VARIANT,
|
---|
97 | SF_RECORD = VT_RECORD,
|
---|
98 | SF_HAVEIID = VT_UNKNOWN|VT_RESERVED,
|
---|
99 | } SF_TYPE;
|
---|
100 |
|
---|
101 | typedef union _wireSAFEARRAY_UNION switch(ULONG sfType) u {
|
---|
102 | case SF_BSTR: SAFEARR_BSTR BstrStr;
|
---|
103 | case SF_UNKNOWN: SAFEARR_UNKNOWN UnknownStr;
|
---|
104 | case SF_DISPATCH: SAFEARR_DISPATCH DispatchStr;
|
---|
105 | case SF_VARIANT: SAFEARR_VARIANT VariantStr;
|
---|
106 | case SF_RECORD: SAFEARR_BRECORD RecordStr;
|
---|
107 | case SF_HAVEIID: SAFEARR_HAVEIID HaveIidStr;
|
---|
108 | case SF_I1: BYTE_SIZEDARR ByteStr;
|
---|
109 | case SF_I2: WORD_SIZEDARR WordStr;
|
---|
110 | case SF_I4: DWORD_SIZEDARR LongStr;
|
---|
111 | case SF_I8: HYPER_SIZEDARR HyperStr;
|
---|
112 | } SAFEARRAYUNION;
|
---|
113 |
|
---|
114 | typedef [unique] struct _wireSAFEARRAY {
|
---|
115 | USHORT cDims;
|
---|
116 | USHORT fFeatures;
|
---|
117 | ULONG cbElements;
|
---|
118 | ULONG cLocks;
|
---|
119 | SAFEARRAYUNION uArrayStructs;
|
---|
120 | [size_is(cDims)] SAFEARRAYBOUND rgsabound[];
|
---|
121 | } *wireSAFEARRAY;
|
---|
122 |
|
---|
123 | typedef [unique] wireSAFEARRAY *wirePSAFEARRAY;
|
---|
124 |
|
---|
125 | typedef struct tagSAFEARRAY {
|
---|
126 | USHORT cDims;
|
---|
127 | USHORT fFeatures;
|
---|
128 | ULONG cbElements;
|
---|
129 | ULONG cLocks;
|
---|
130 | PVOID pvData;
|
---|
131 | SAFEARRAYBOUND rgsabound[];
|
---|
132 | } SAFEARRAY;
|
---|
133 |
|
---|
134 | typedef [wire_marshal(wirePSAFEARRAY)] SAFEARRAY *LPSAFEARRAY;
|
---|
135 |
|
---|
136 | const USHORT FADF_AUTO = 0x0001;
|
---|
137 | const USHORT FADF_STATIC = 0x0002;
|
---|
138 | const USHORT FADF_EMBEDDED = 0x0004;
|
---|
139 | const USHORT FADF_FIXEDSIZE = 0x0010;
|
---|
140 | const USHORT FADF_RECORD = 0x0020;
|
---|
141 | const USHORT FADF_HAVEIID = 0x0040;
|
---|
142 | const USHORT FADF_HAVEVARTYPE = 0x0080;
|
---|
143 | const USHORT FADF_BSTR = 0x0100;
|
---|
144 | const USHORT FADF_UNKNOWN = 0x0200;
|
---|
145 | const USHORT FADF_DISPATCH = 0x0400;
|
---|
146 | const USHORT FADF_VARIANT = 0x0800;
|
---|
147 | const USHORT FADF_RESERVED = 0xF008;
|
---|
148 | /* Undocumented flags */
|
---|
149 | const USHORT FADF_DATADELETED = 0x1000; /* Data in a vector has been deleted */
|
---|
150 | const USHORT FADF_CREATEVECTOR = 0x2000; /* This array is a vector */
|
---|
151 |
|
---|
152 | /* Variant */
|
---|
153 |
|
---|
154 | cpp_quote("#if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)")
|
---|
155 | cpp_quote("#define __VARIANT_NAME_1 n1")
|
---|
156 | cpp_quote("#define __VARIANT_NAME_2 n2")
|
---|
157 | cpp_quote("#define __VARIANT_NAME_3 n3")
|
---|
158 | cpp_quote("#define __VARIANT_NAME_4 brecVal")
|
---|
159 | cpp_quote("#else")
|
---|
160 | cpp_quote("#define __tagVARIANT")
|
---|
161 | cpp_quote("#define __VARIANT_NAME_1")
|
---|
162 | cpp_quote("#define __VARIANT_NAME_2")
|
---|
163 | cpp_quote("#define __VARIANT_NAME_3")
|
---|
164 | cpp_quote("#define __tagBRECORD")
|
---|
165 | cpp_quote("#define __VARIANT_NAME_4")
|
---|
166 | cpp_quote("#endif")
|
---|
167 |
|
---|
168 | typedef [wire_marshal(wireVARIANT)] struct tagVARIANT VARIANT;
|
---|
169 |
|
---|
170 | struct tagVARIANT {
|
---|
171 | union {
|
---|
172 | struct __tagVARIANT {
|
---|
173 | VARTYPE vt;
|
---|
174 | WORD wReserved1;
|
---|
175 | WORD wReserved2;
|
---|
176 | WORD wReserved3;
|
---|
177 | union {
|
---|
178 | signed char cVal;
|
---|
179 | USHORT uiVal;
|
---|
180 | ULONG ulVal;
|
---|
181 | INT intVal;
|
---|
182 | UINT uintVal;
|
---|
183 | BYTE bVal;
|
---|
184 | SHORT iVal;
|
---|
185 | LONG lVal;
|
---|
186 | FLOAT fltVal;
|
---|
187 | DOUBLE dblVal;
|
---|
188 | VARIANT_BOOL boolVal;
|
---|
189 | #if 0 /* illegal in C++ */
|
---|
190 | _VARIANT_BOOL bool;
|
---|
191 | #endif
|
---|
192 | SCODE scode;
|
---|
193 | DATE date;
|
---|
194 | BSTR bstrVal;
|
---|
195 | CY cyVal;
|
---|
196 | IUnknown *punkVal;
|
---|
197 | IDispatch *pdispVal;
|
---|
198 | SAFEARRAY *parray;
|
---|
199 | LONGLONG llVal;
|
---|
200 | ULONGLONG ullVal;
|
---|
201 | signed char *pcVal;
|
---|
202 | USHORT *puiVal;
|
---|
203 | ULONG *pulVal;
|
---|
204 | INT *pintVal;
|
---|
205 | UINT *puintVal;
|
---|
206 | BYTE *pbVal;
|
---|
207 | SHORT *piVal;
|
---|
208 | LONG *plVal;
|
---|
209 | FLOAT *pfltVal;
|
---|
210 | DOUBLE *pdblVal;
|
---|
211 | VARIANT_BOOL *pboolVal;
|
---|
212 | #if 0
|
---|
213 | _VARIANT_BOOL *pbool;
|
---|
214 | #endif
|
---|
215 | SCODE *pscode;
|
---|
216 | DATE *pdate;
|
---|
217 | BSTR *pbstrVal;
|
---|
218 | VARIANT *pvarVal;
|
---|
219 | PVOID byref;
|
---|
220 | CY *pcyVal;
|
---|
221 | DECIMAL *pdecVal;
|
---|
222 | IUnknown **ppunkVal;
|
---|
223 | IDispatch **ppdispVal;
|
---|
224 | SAFEARRAY **pparray;
|
---|
225 | LONGLONG *pllVal;
|
---|
226 | ULONGLONG *pullVal;
|
---|
227 | struct __tagBRECORD {
|
---|
228 | PVOID pvRecord;
|
---|
229 | IRecordInfo *pRecInfo;
|
---|
230 | } __VARIANT_NAME_4;
|
---|
231 | } __VARIANT_NAME_3;
|
---|
232 | } __VARIANT_NAME_2;
|
---|
233 |
|
---|
234 | DECIMAL decVal;
|
---|
235 | } __VARIANT_NAME_1;
|
---|
236 | };
|
---|
237 |
|
---|
238 | typedef VARIANT *LPVARIANT;
|
---|
239 | typedef VARIANT VARIANTARG;
|
---|
240 | typedef VARIANTARG *LPVARIANTARG;
|
---|
241 |
|
---|
242 | struct _wireBRECORD {
|
---|
243 | ULONG fFlags;
|
---|
244 | ULONG clSize;
|
---|
245 | IRecordInfo *pRecInfo;
|
---|
246 | [size_is(clSize)] byte *pRecord;
|
---|
247 | };
|
---|
248 |
|
---|
249 | struct _wireVARIANT {
|
---|
250 | DWORD clSize;
|
---|
251 | DWORD rpcReserved;
|
---|
252 | USHORT vt;
|
---|
253 | USHORT wReserved1;
|
---|
254 | USHORT wReserved2;
|
---|
255 | USHORT wReserved3;
|
---|
256 | [switch_is(vt)] union {
|
---|
257 | [case(VT_EMPTY, VT_NULL)] ;
|
---|
258 | [case(VT_I1)] signed char cVal;
|
---|
259 | [case(VT_UI2)] USHORT uiVal;
|
---|
260 | [case(VT_UI4)] ULONG ulVal;
|
---|
261 | [case(VT_INT)] INT intVal;
|
---|
262 | [case(VT_UINT)] UINT uintVal;
|
---|
263 | [case(VT_UI1)] BYTE bVal;
|
---|
264 | [case(VT_I2)] SHORT iVal;
|
---|
265 | [case(VT_I4)] LONG lVal;
|
---|
266 | [case(VT_R4)] FLOAT fltVal;
|
---|
267 | [case(VT_R8)] DOUBLE dblVal;
|
---|
268 | [case(VT_BOOL)] VARIANT_BOOL boolVal;
|
---|
269 | [case(VT_ERROR)] SCODE scode;
|
---|
270 | [case(VT_DATE)] DATE date;
|
---|
271 | [case(VT_BSTR)] wireBSTR bstrVal;
|
---|
272 | [case(VT_CY)] CY cyVal;
|
---|
273 | [case(VT_DECIMAL)] DECIMAL decVal;
|
---|
274 | [case(VT_UNKNOWN)] IUnknown *punkVal;
|
---|
275 | [case(VT_DISPATCH)] IDispatch *pdispVal;
|
---|
276 | [case(VT_ARRAY)] wireSAFEARRAY parray;
|
---|
277 | [case(VT_I1|VT_BYREF)] signed char *pcVal;
|
---|
278 | [case(VT_UI2|VT_BYREF)] USHORT *puiVal;
|
---|
279 | [case(VT_UI4|VT_BYREF)] ULONG *pulVal;
|
---|
280 | [case(VT_INT|VT_BYREF)] INT *pintVal;
|
---|
281 | [case(VT_UINT|VT_BYREF)] UINT *puintVal;
|
---|
282 | [case(VT_UI1|VT_BYREF)] BYTE *pbVal;
|
---|
283 | [case(VT_I2|VT_BYREF)] SHORT *piVal;
|
---|
284 | [case(VT_I4|VT_BYREF)] LONG *plVal;
|
---|
285 | [case(VT_R4|VT_BYREF)] FLOAT *pfltVal;
|
---|
286 | [case(VT_R8|VT_BYREF)] DOUBLE *pdblVal;
|
---|
287 | [case(VT_BOOL|VT_BYREF)] VARIANT_BOOL *pboolVal;
|
---|
288 | [case(VT_ERROR|VT_BYREF)] SCODE *pscode;
|
---|
289 | [case(VT_DATE|VT_BYREF)] DATE *pdate;
|
---|
290 | [case(VT_BSTR|VT_BYREF)] wireBSTR *pbstrVal;
|
---|
291 | [case(VT_VARIANT|VT_BYREF)] wireVARIANT *pvarVal;
|
---|
292 | [case(VT_CY|VT_BYREF)] CY *pcyVal;
|
---|
293 | [case(VT_DECIMAL|VT_BYREF)] DECIMAL *pdecVal;
|
---|
294 | [case(VT_UNKNOWN|VT_BYREF)] IUnknown **ppunkVal;
|
---|
295 | [case(VT_DISPATCH|VT_BYREF)] IDispatch **ppdispVal;
|
---|
296 | [case(VT_ARRAY|VT_BYREF)] wireSAFEARRAY *pparray;
|
---|
297 | [case(VT_RECORD, VT_RECORD|VT_BYREF)] wireBRECORD brecVal;
|
---|
298 | } DUMMYUNIONNAME;
|
---|
299 | };
|
---|
300 |
|
---|
301 | /* Dispatch */
|
---|
302 |
|
---|
303 | typedef LONG DISPID;
|
---|
304 | typedef DWORD HREFTYPE;
|
---|
305 | typedef DISPID MEMBERID;
|
---|
306 |
|
---|
307 | typedef [v1_enum] enum tagTYPEKIND {
|
---|
308 | TKIND_ENUM = 0,
|
---|
309 | TKIND_RECORD,
|
---|
310 | TKIND_MODULE,
|
---|
311 | TKIND_INTERFACE,
|
---|
312 | TKIND_DISPATCH,
|
---|
313 | TKIND_COCLASS,
|
---|
314 | TKIND_ALIAS,
|
---|
315 | TKIND_UNION,
|
---|
316 | TKIND_MAX
|
---|
317 | } TYPEKIND;
|
---|
318 |
|
---|
319 | typedef struct tagTYPEDESC {
|
---|
320 | [switch_is(vt)] union {
|
---|
321 | [case(VT_PTR, VT_SAFEARRAY)] struct tagTYPEDESC *lptdesc;
|
---|
322 | [case(VT_CARRAY)] struct tagARRAYDESC *lpadesc;
|
---|
323 | [case(VT_USERDEFINED)] HREFTYPE hreftype;
|
---|
324 | [default] ;
|
---|
325 | } DUMMYUNIONNAME;
|
---|
326 | VARTYPE vt;
|
---|
327 | } TYPEDESC;
|
---|
328 |
|
---|
329 | typedef struct tagARRAYDESC {
|
---|
330 | TYPEDESC tdescElem;
|
---|
331 | USHORT cDims;
|
---|
332 | [size_is(cDims)] SAFEARRAYBOUND rgbounds[];
|
---|
333 | } ARRAYDESC;
|
---|
334 |
|
---|
335 | typedef struct tagPARAMDESCEX {
|
---|
336 | ULONG cBytes;
|
---|
337 | VARIANTARG varDefaultValue;
|
---|
338 | } PARAMDESCEX, *LPPARAMDESCEX;
|
---|
339 |
|
---|
340 | typedef struct tagPARAMDESC {
|
---|
341 | LPPARAMDESCEX pparamdescex;
|
---|
342 | USHORT wParamFlags;
|
---|
343 | } PARAMDESC, *LPPARAMDESC;
|
---|
344 |
|
---|
345 | const USHORT PARAMFLAG_NONE = 0x00;
|
---|
346 | const USHORT PARAMFLAG_FIN = 0x01;
|
---|
347 | const USHORT PARAMFLAG_FOUT = 0x02;
|
---|
348 | const USHORT PARAMFLAG_FLCID = 0x04;
|
---|
349 | const USHORT PARAMFLAG_FRETVAL = 0x08;
|
---|
350 | const USHORT PARAMFLAG_FOPT = 0x10;
|
---|
351 | const USHORT PARAMFLAG_FHASDEFAULT = 0x20;
|
---|
352 | const USHORT PARAMFLAG_FHASCUSTDATA = 0x40;
|
---|
353 |
|
---|
354 | typedef struct tagIDLDESC {
|
---|
355 | ULONG_PTR dwReserved;
|
---|
356 | USHORT wIDLFlags;
|
---|
357 | } IDLDESC, *LPIDLDESC;
|
---|
358 |
|
---|
359 | const USHORT IDLFLAG_NONE = PARAMFLAG_NONE;
|
---|
360 | const USHORT IDLFLAG_FIN = PARAMFLAG_FIN;
|
---|
361 | const USHORT IDLFLAG_FOUT = PARAMFLAG_FOUT;
|
---|
362 | const USHORT IDLFLAG_FLCID = PARAMFLAG_FLCID;
|
---|
363 | const USHORT IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL;
|
---|
364 |
|
---|
365 | cpp_quote("#if 0") /* for IDL only */
|
---|
366 | typedef struct tagELEMDESC {
|
---|
367 | TYPEDESC tdesc;
|
---|
368 | PARAMDESC paramdesc;
|
---|
369 | } ELEMDESC;
|
---|
370 | cpp_quote("#else") /* C/C++ defs */
|
---|
371 | cpp_quote("typedef struct tagELEMDESC {")
|
---|
372 | cpp_quote(" TYPEDESC tdesc;")
|
---|
373 | cpp_quote(" union {")
|
---|
374 | cpp_quote(" IDLDESC idldesc;")
|
---|
375 | cpp_quote(" PARAMDESC paramdesc;")
|
---|
376 | cpp_quote(" } DUMMYUNIONNAME;")
|
---|
377 | cpp_quote("} ELEMDESC, *LPELEMDESC;")
|
---|
378 | cpp_quote("#endif")
|
---|
379 |
|
---|
380 | typedef struct tagTYPEATTR {
|
---|
381 | GUID guid;
|
---|
382 | LCID lcid;
|
---|
383 | DWORD dwReserved;
|
---|
384 | MEMBERID memidConstructor;
|
---|
385 | MEMBERID memidDestructor;
|
---|
386 | LPOLESTR lpstrSchema;
|
---|
387 | ULONG cbSizeInstance;
|
---|
388 | TYPEKIND typekind;
|
---|
389 | WORD cFuncs;
|
---|
390 | WORD cVars;
|
---|
391 | WORD cImplTypes;
|
---|
392 | WORD cbSizeVft;
|
---|
393 | WORD cbAlignment;
|
---|
394 | WORD wTypeFlags;
|
---|
395 | WORD wMajorVerNum;
|
---|
396 | WORD wMinorVerNum;
|
---|
397 | TYPEDESC tdescAlias;
|
---|
398 | IDLDESC idldescType;
|
---|
399 | } TYPEATTR, *LPTYPEATTR;
|
---|
400 |
|
---|
401 | typedef struct tagDISPPARAMS {
|
---|
402 | [size_is(cArgs)] VARIANTARG *rgvarg;
|
---|
403 | [size_is(cNamedArgs)] DISPID *rgdispidNamedArgs;
|
---|
404 | UINT cArgs;
|
---|
405 | UINT cNamedArgs;
|
---|
406 | } DISPPARAMS;
|
---|
407 |
|
---|
408 | cpp_quote("#if 0") /* for IDL only */
|
---|
409 | typedef struct tagEXCEPINFO {
|
---|
410 | WORD wCode;
|
---|
411 | WORD wReserved;
|
---|
412 | BSTR bstrSource;
|
---|
413 | BSTR bstrDescription;
|
---|
414 | BSTR bstrHelpFile;
|
---|
415 | DWORD dwHelpContext;
|
---|
416 | ULONG_PTR pvReserved;
|
---|
417 | ULONG_PTR pfnDeferredFillIn;
|
---|
418 | SCODE scode;
|
---|
419 | } EXCEPINFO;
|
---|
420 | cpp_quote("#else")
|
---|
421 | cpp_quote("typedef struct tagEXCEPINFO {")
|
---|
422 | cpp_quote(" WORD wCode;")
|
---|
423 | cpp_quote(" WORD wReserved;")
|
---|
424 | cpp_quote(" BSTR bstrSource;")
|
---|
425 | cpp_quote(" BSTR bstrDescription;")
|
---|
426 | cpp_quote(" BSTR bstrHelpFile;")
|
---|
427 | cpp_quote(" DWORD dwHelpContext;")
|
---|
428 | cpp_quote(" PVOID pvReserved;")
|
---|
429 | cpp_quote(" HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);")
|
---|
430 | cpp_quote(" SCODE scode;")
|
---|
431 | cpp_quote("} EXCEPINFO, *LPEXCEPINFO;")
|
---|
432 | cpp_quote("#endif")
|
---|
433 |
|
---|
434 | typedef [v1_enum] enum tagCALLCONV {
|
---|
435 | CC_FASTCALL = 0,
|
---|
436 | CC_CDECL = 1,
|
---|
437 | CC_MSCPASCAL,
|
---|
438 | CC_PASCAL = CC_MSCPASCAL,
|
---|
439 | CC_MACPASCAL,
|
---|
440 | CC_STDCALL,
|
---|
441 | CC_FPFASTCALL,
|
---|
442 | CC_SYSCALL,
|
---|
443 | CC_MPWCDECL,
|
---|
444 | CC_MPWPASCAL,
|
---|
445 | CC_MAX
|
---|
446 | } CALLCONV;
|
---|
447 |
|
---|
448 | typedef [v1_enum] enum tagFUNCKIND {
|
---|
449 | FUNC_VIRTUAL,
|
---|
450 | FUNC_PUREVIRTUAL,
|
---|
451 | FUNC_NONVIRTUAL,
|
---|
452 | FUNC_STATIC,
|
---|
453 | FUNC_DISPATCH
|
---|
454 | } FUNCKIND;
|
---|
455 |
|
---|
456 | typedef [v1_enum] enum tagINVOKEKIND {
|
---|
457 | INVOKE_FUNC = 1,
|
---|
458 | INVOKE_PROPERTYGET = 2,
|
---|
459 | INVOKE_PROPERTYPUT = 4,
|
---|
460 | INVOKE_PROPERTYPUTREF = 8
|
---|
461 | } INVOKEKIND;
|
---|
462 |
|
---|
463 | typedef struct tagFUNCDESC {
|
---|
464 | MEMBERID memid;
|
---|
465 | [size_is(cScodes)] SCODE *lprgscode;
|
---|
466 | [size_is(cParams)] ELEMDESC *lprgelemdescParam;
|
---|
467 | FUNCKIND funckind;
|
---|
468 | INVOKEKIND invkind;
|
---|
469 | CALLCONV callconv;
|
---|
470 | SHORT cParams;
|
---|
471 | SHORT cParamsOpt;
|
---|
472 | SHORT oVft;
|
---|
473 | SHORT cScodes;
|
---|
474 | ELEMDESC elemdescFunc;
|
---|
475 | WORD wFuncFlags;
|
---|
476 | } FUNCDESC, *LPFUNCDESC;
|
---|
477 |
|
---|
478 | typedef [v1_enum] enum tagVARKIND {
|
---|
479 | VAR_PERINSTANCE,
|
---|
480 | VAR_STATIC,
|
---|
481 | VAR_CONST,
|
---|
482 | VAR_DISPATCH
|
---|
483 | } VARKIND;
|
---|
484 |
|
---|
485 | const USHORT IMPLTYPEFLAG_FDEFAULT = 0x1;
|
---|
486 | const USHORT IMPLTYPEFLAG_FSOURCE = 0x2;
|
---|
487 | const USHORT IMPLTYPEFLAG_FRESTRICTED = 0x4;
|
---|
488 | const USHORT IMPLTYPEFLAG_FDEFAULTVTABLE = 0x8;
|
---|
489 |
|
---|
490 | typedef struct tagVARDESC {
|
---|
491 | MEMBERID memid;
|
---|
492 | LPOLESTR lpstrSchema;
|
---|
493 | [switch_is(varkind)] union {
|
---|
494 | [case(VAR_PERINSTANCE, VAR_DISPATCH, VAR_STATIC)] ULONG oInst;
|
---|
495 | [case(VAR_CONST)] VARIANT *lpvarValue;
|
---|
496 | } DUMMYUNIONNAME;
|
---|
497 | ELEMDESC elemdescVar;
|
---|
498 | WORD wVarFlags;
|
---|
499 | VARKIND varkind;
|
---|
500 | } VARDESC, *LPVARDESC;
|
---|
501 |
|
---|
502 | typedef enum tagTYPEFLAGS {
|
---|
503 | TYPEFLAG_FAPPOBJECT = 0x0001,
|
---|
504 | TYPEFLAG_FCANCREATE = 0x0002,
|
---|
505 | TYPEFLAG_FLICENSED = 0x0004,
|
---|
506 | TYPEFLAG_FPREDECLID = 0x0008,
|
---|
507 | TYPEFLAG_FHIDDEN = 0x0010,
|
---|
508 | TYPEFLAG_FCONTROL = 0x0020,
|
---|
509 | TYPEFLAG_FDUAL = 0x0040,
|
---|
510 | TYPEFLAG_FNONEXTENSIBLE = 0x0080,
|
---|
511 | TYPEFLAG_FOLEAUTOMATION = 0x0100,
|
---|
512 | TYPEFLAG_FRESTRICTED = 0x0200,
|
---|
513 | TYPEFLAG_FAGGREGATABLE = 0x0400,
|
---|
514 | TYPEFLAG_FREPLACEABLE = 0x0800,
|
---|
515 | TYPEFLAG_FDISPATCHABLE = 0x1000,
|
---|
516 | TYPEFLAG_FREVERSEBIND = 0x2000,
|
---|
517 | TYPEFLAG_FPROXY = 0x4000
|
---|
518 | } TYPEFLAGS;
|
---|
519 |
|
---|
520 | typedef enum tagFUNCFLAGS {
|
---|
521 | FUNCFLAG_FRESTRICTED = 0x0001,
|
---|
522 | FUNCFLAG_FSOURCE = 0x0002,
|
---|
523 | FUNCFLAG_FBINDABLE = 0x0004,
|
---|
524 | FUNCFLAG_FREQUESTEDIT = 0x0008,
|
---|
525 | FUNCFLAG_FDISPLAYBIND = 0x0010,
|
---|
526 | FUNCFLAG_FDEFAULTBIND = 0x0020,
|
---|
527 | FUNCFLAG_FHIDDEN = 0x0040,
|
---|
528 | FUNCFLAG_FUSESGETLASTERROR = 0x0080,
|
---|
529 | FUNCFLAG_FDEFAULTCOLLELEM = 0x0100,
|
---|
530 | FUNCFLAG_FUIDEFAULT = 0x0200,
|
---|
531 | FUNCFLAG_FNONBROWSABLE = 0x0400,
|
---|
532 | FUNCFLAG_FREPLACEABLE = 0x0800,
|
---|
533 | FUNCFLAG_FIMMEDIATEBIND = 0x1000
|
---|
534 | } FUNCFLAGS;
|
---|
535 |
|
---|
536 | typedef enum tagVARFLAGS {
|
---|
537 | VARFLAG_FREADONLY = 0x0001,
|
---|
538 | VARFLAG_FSOURCE = 0x0002,
|
---|
539 | VARFLAG_FBINDABLE = 0x0004,
|
---|
540 | VARFLAG_FREQUESTEDIT = 0x0008,
|
---|
541 | VARFLAG_FDISPLAYBIND = 0x0010,
|
---|
542 | VARFLAG_FDEFAULTBIND = 0x0020,
|
---|
543 | VARFLAG_FHIDDEN = 0x0040,
|
---|
544 | VARFLAG_FRESTRICTED = 0x0080,
|
---|
545 | VARFLAG_FDEFAULTCOLLELEM = 0x0100,
|
---|
546 | VARFLAG_FUIDEFAULT = 0x0200,
|
---|
547 | VARFLAG_FNONBROWSABLE = 0x0400,
|
---|
548 | VARFLAG_FREPLACEABLE = 0x0800,
|
---|
549 | VARFLAG_FIMMEDIATEBIND = 0x1000
|
---|
550 | } VARFLAGS;
|
---|
551 |
|
---|
552 | typedef [wire_marshal(DWORD)] struct tagCLEANLOCALSTORAGE {
|
---|
553 | IUnknown *pInterface;
|
---|
554 | PVOID pStorage;
|
---|
555 | DWORD flags;
|
---|
556 | } CLEANLOCALSTORAGE;
|
---|
557 |
|
---|
558 | typedef struct tagCUSTDATAITEM {
|
---|
559 | GUID guid;
|
---|
560 | VARIANTARG varValue;
|
---|
561 | } CUSTDATAITEM, *LPCUSTDATAITEM;
|
---|
562 |
|
---|
563 | typedef struct tagCUSTDATA {
|
---|
564 | DWORD cCustData;
|
---|
565 | [size_is(cCustData)] LPCUSTDATAITEM prgCustData;
|
---|
566 | } CUSTDATA, *LPCUSTDATA;
|
---|
567 |
|
---|
568 | } /* interface IOleAutomationTypes */
|
---|
569 |
|
---|
570 | /******************** INTERFACES ********************/
|
---|
571 |
|
---|
572 | [
|
---|
573 | object,
|
---|
574 | uuid(00020400-0000-0000-C000-000000000046),
|
---|
575 | pointer_default(unique)
|
---|
576 | ]
|
---|
577 | interface IDispatch : IUnknown
|
---|
578 | {
|
---|
579 | typedef [unique] IDispatch *LPDISPATCH;
|
---|
580 |
|
---|
581 | const DISPID DISPID_UNKNOWN = -1;
|
---|
582 | const DISPID DISPID_VALUE = 0;
|
---|
583 | const DISPID DISPID_PROPERTYPUT = -3;
|
---|
584 | const DISPID DISPID_NEWENUM = -4;
|
---|
585 | const DISPID DISPID_EVALUATE = -5;
|
---|
586 | const DISPID DISPID_CONSTRUCTOR = -6;
|
---|
587 | const DISPID DISPID_DESTRUCTOR = -7;
|
---|
588 | const DISPID DISPID_COLLECT = -8;
|
---|
589 |
|
---|
590 | HRESULT GetTypeInfoCount(
|
---|
591 | [out] UINT *pctinfo);
|
---|
592 |
|
---|
593 | HRESULT GetTypeInfo(
|
---|
594 | [in] UINT iTInfo,
|
---|
595 | [in] LCID lcid,
|
---|
596 | [out] ITypeInfo **ppTInfo);
|
---|
597 |
|
---|
598 | HRESULT GetIDsOfNames(
|
---|
599 | [in] REFIID riid,
|
---|
600 | [in, size_is(cNames)] LPOLESTR *rgszNames,
|
---|
601 | [in] UINT cNames,
|
---|
602 | [in] LCID lcid,
|
---|
603 | [out, size_is(cNames)] DISPID *rgDispId);
|
---|
604 |
|
---|
605 | [local]
|
---|
606 | HRESULT Invoke(
|
---|
607 | [in] DISPID dispIdMember,
|
---|
608 | [in] REFIID riid,
|
---|
609 | [in] LCID lcid,
|
---|
610 | [in] WORD wFlags,
|
---|
611 | [in, out] DISPPARAMS *pDispParams,
|
---|
612 | [out] VARIANT *pVarResult,
|
---|
613 | [out] EXCEPINFO *pExcepInfo,
|
---|
614 | [out] UINT *puArgErr);
|
---|
615 |
|
---|
616 | [call_as(Invoke)]
|
---|
617 | HRESULT RemoteInvoke(
|
---|
618 | [in] DISPID dispIdMember,
|
---|
619 | [in] REFIID riid,
|
---|
620 | [in] LCID lcid,
|
---|
621 | [in] DWORD dwFlags,
|
---|
622 | [in] DISPPARAMS *pDispParams,
|
---|
623 | [out] VARIANT *pVarResult,
|
---|
624 | [out] EXCEPINFO *pExcepInfo,
|
---|
625 | [out] UINT *pArgErr,
|
---|
626 | [in] UINT cVarRef,
|
---|
627 | [in, size_is(cVarRef)] UINT *rgVarRefIdx,
|
---|
628 | [in, out, size_is(cVarRef)] VARIANTARG *rgVarRef);
|
---|
629 | }
|
---|
630 |
|
---|
631 | [
|
---|
632 | object,
|
---|
633 | uuid(00020404-0000-0000-C000-000000000046),
|
---|
634 | pointer_default(unique)
|
---|
635 | ]
|
---|
636 | interface IEnumVARIANT : IUnknown
|
---|
637 | {
|
---|
638 | typedef [unique] IEnumVARIANT *LPENUMVARIANT;
|
---|
639 |
|
---|
640 | [local]
|
---|
641 | HRESULT Next(
|
---|
642 | [in] ULONG celt,
|
---|
643 | [out] VARIANT *rgVar,
|
---|
644 | [out] ULONG *pCeltFetched);
|
---|
645 |
|
---|
646 | [call_as(Next)]
|
---|
647 | HRESULT RemoteNext(
|
---|
648 | [in] ULONG celt,
|
---|
649 | [out, size_is(celt), length_is(*pCeltFetched)]
|
---|
650 | VARIANT *rgVar,
|
---|
651 | [out] ULONG *pCeltFetched);
|
---|
652 |
|
---|
653 | HRESULT Skip(
|
---|
654 | [in] ULONG celt);
|
---|
655 |
|
---|
656 | HRESULT Reset();
|
---|
657 |
|
---|
658 | HRESULT Clone(
|
---|
659 | [out] IEnumVARIANT **ppEnum);
|
---|
660 | }
|
---|
661 |
|
---|
662 | [
|
---|
663 | object,
|
---|
664 | uuid(00020403-0000-0000-C000-000000000046),
|
---|
665 | pointer_default(unique)
|
---|
666 | ]
|
---|
667 | interface ITypeComp : IUnknown
|
---|
668 | {
|
---|
669 | typedef [unique] ITypeComp *LPTYPECOMP;
|
---|
670 |
|
---|
671 | typedef [v1_enum] enum tagDESCKIND {
|
---|
672 | DESCKIND_NONE = 0,
|
---|
673 | DESCKIND_FUNCDESC,
|
---|
674 | DESCKIND_VARDESC,
|
---|
675 | DESCKIND_TYPECOMP,
|
---|
676 | DESCKIND_IMPLICITAPPOBJ,
|
---|
677 | DESCKIND_MAX
|
---|
678 | } DESCKIND;
|
---|
679 |
|
---|
680 | typedef union tagBINDPTR {
|
---|
681 | FUNCDESC *lpfuncdesc;
|
---|
682 | VARDESC *lpvardesc;
|
---|
683 | ITypeComp *lptcomp;
|
---|
684 | } BINDPTR, *LPBINDPTR;
|
---|
685 |
|
---|
686 | [local]
|
---|
687 | HRESULT Bind(
|
---|
688 | [in] LPOLESTR szName,
|
---|
689 | [in] ULONG lHashVal,
|
---|
690 | [in] WORD wFlags,
|
---|
691 | [out] ITypeInfo **ppTInfo,
|
---|
692 | [out] DESCKIND *pDescKind,
|
---|
693 | [out] BINDPTR *pBindPtr);
|
---|
694 |
|
---|
695 | [call_as(Bind)]
|
---|
696 | HRESULT RemoteBind(
|
---|
697 | [in] LPOLESTR szName,
|
---|
698 | [in] ULONG lHashVal,
|
---|
699 | [in] WORD wFlags,
|
---|
700 | [out] ITypeInfo **ppTInfo,
|
---|
701 | [out] DESCKIND *pDescKind,
|
---|
702 | [out] LPFUNCDESC *ppFuncDesc,
|
---|
703 | [out] LPVARDESC *ppVarDesc,
|
---|
704 | [out] ITypeComp **ppTypeComp,
|
---|
705 | [out] CLEANLOCALSTORAGE *pDummy);
|
---|
706 |
|
---|
707 | [local]
|
---|
708 | HRESULT BindType(
|
---|
709 | [in] LPOLESTR szName,
|
---|
710 | [in] ULONG lHashVal,
|
---|
711 | [out] ITypeInfo **ppTInfo,
|
---|
712 | [out] ITypeComp **ppTComp);
|
---|
713 |
|
---|
714 | [call_as(BindType)]
|
---|
715 | HRESULT RemoteBindType(
|
---|
716 | [in] LPOLESTR szName,
|
---|
717 | [in] ULONG lHashVal,
|
---|
718 | [out] ITypeInfo **ppTInfo);
|
---|
719 | }
|
---|
720 |
|
---|
721 | [
|
---|
722 | object,
|
---|
723 | uuid(00020401-0000-0000-C000-000000000046),
|
---|
724 | pointer_default(unique)
|
---|
725 | ]
|
---|
726 | interface ITypeInfo : IUnknown
|
---|
727 | {
|
---|
728 | typedef [unique] ITypeInfo *LPTYPEINFO;
|
---|
729 |
|
---|
730 | [local]
|
---|
731 | HRESULT GetTypeAttr(
|
---|
732 | [out] TYPEATTR **ppTypeAttr);
|
---|
733 |
|
---|
734 | [call_as(GetTypeAttr)]
|
---|
735 | HRESULT RemoteGetTypeAttr(
|
---|
736 | [out] LPTYPEATTR *ppTypeAttr,
|
---|
737 | [out] CLEANLOCALSTORAGE *pDummy);
|
---|
738 |
|
---|
739 | HRESULT GetTypeComp(
|
---|
740 | [out] ITypeComp **ppTComp);
|
---|
741 |
|
---|
742 | [local]
|
---|
743 | HRESULT GetFuncDesc(
|
---|
744 | [in] UINT index,
|
---|
745 | [out] FUNCDESC **ppFuncDesc);
|
---|
746 |
|
---|
747 | [call_as(GetFuncDesc)]
|
---|
748 | HRESULT RemoteGetFuncDesc(
|
---|
749 | [in] UINT index,
|
---|
750 | [out] LPFUNCDESC *ppFuncDesc,
|
---|
751 | [out] CLEANLOCALSTORAGE *pDummy);
|
---|
752 |
|
---|
753 | [local]
|
---|
754 | HRESULT GetVarDesc(
|
---|
755 | [in] UINT index,
|
---|
756 | [out] VARDESC **ppVarDesc);
|
---|
757 |
|
---|
758 | [call_as(GetVarDesc)]
|
---|
759 | HRESULT RemoteGetVarDesc(
|
---|
760 | [in] UINT index,
|
---|
761 | [out] LPVARDESC *ppVarDesc,
|
---|
762 | [out] CLEANLOCALSTORAGE *pDummy);
|
---|
763 |
|
---|
764 | [local]
|
---|
765 | HRESULT GetNames(
|
---|
766 | [in] MEMBERID memid,
|
---|
767 | [out, size_is(cMaxNames), length_is(*pcNames)] BSTR *rgBstrNames,
|
---|
768 | [in] UINT cMaxNames,
|
---|
769 | [out] UINT *pcNames);
|
---|
770 |
|
---|
771 | [call_as(GetNames)]
|
---|
772 | HRESULT RemoteGetNames(
|
---|
773 | [in] MEMBERID memid,
|
---|
774 | [out, size_is(cMaxNames), length_is(*pcNames)] BSTR *rgBstrNames,
|
---|
775 | [in] UINT cMaxNames,
|
---|
776 | [out] UINT *pcNames);
|
---|
777 |
|
---|
778 | HRESULT GetRefTypeOfImplType(
|
---|
779 | [in] UINT index,
|
---|
780 | [out] HREFTYPE *pRefType);
|
---|
781 |
|
---|
782 | HRESULT GetImplTypeFlags(
|
---|
783 | [in] UINT index,
|
---|
784 | [out] INT *pImplTypeFlags);
|
---|
785 |
|
---|
786 | [local]
|
---|
787 | HRESULT GetIDsOfNames(
|
---|
788 | [in, size_is(cNames)] LPOLESTR *rgszNames,
|
---|
789 | [in] UINT cNames,
|
---|
790 | [out, size_is(cNames)] MEMBERID *pMemId);
|
---|
791 |
|
---|
792 | [call_as(GetIDsOfNames)]
|
---|
793 | HRESULT LocalGetIDsOfNames();
|
---|
794 |
|
---|
795 | [local]
|
---|
796 | HRESULT Invoke(
|
---|
797 | [in] PVOID pvInstance,
|
---|
798 | [in] MEMBERID memid,
|
---|
799 | [in] WORD wFlags,
|
---|
800 | [in, out] DISPPARAMS *pDispParams,
|
---|
801 | [out] VARIANT *pVarResult,
|
---|
802 | [out] EXCEPINFO *pExcepInfo,
|
---|
803 | [out] UINT *puArgErr);
|
---|
804 |
|
---|
805 | [call_as(Invoke)]
|
---|
806 | HRESULT LocalInvoke();
|
---|
807 |
|
---|
808 | [local]
|
---|
809 | HRESULT GetDocumentation(
|
---|
810 | [in] MEMBERID memid,
|
---|
811 | [out] BSTR *pBstrName,
|
---|
812 | [out] BSTR *pBstrDocString,
|
---|
813 | [out] DWORD *pdwHelpContext,
|
---|
814 | [out] BSTR *pBstrHelpFile);
|
---|
815 |
|
---|
816 | [call_as(GetDocumentation)]
|
---|
817 | HRESULT RemoteGetDocumentation(
|
---|
818 | [in] MEMBERID memid,
|
---|
819 | [in] DWORD refPtrFlags,
|
---|
820 | [out] BSTR *pBstrName,
|
---|
821 | [out] BSTR *pBstrDocString,
|
---|
822 | [out] DWORD *pdwHelpContext,
|
---|
823 | [out] BSTR *pBstrHelpFile);
|
---|
824 |
|
---|
825 | [local]
|
---|
826 | HRESULT GetDllEntry(
|
---|
827 | [in] MEMBERID memid,
|
---|
828 | [in] INVOKEKIND invKind,
|
---|
829 | [out] BSTR *pBstrDllName,
|
---|
830 | [out] BSTR *pBstrName,
|
---|
831 | [out] WORD *pwOrdinal);
|
---|
832 |
|
---|
833 | [call_as(GetDllEntry)]
|
---|
834 | HRESULT RemoteGetDllEntry(
|
---|
835 | [in] MEMBERID memid,
|
---|
836 | [in] INVOKEKIND invKind,
|
---|
837 | [in] DWORD refPtrFlags,
|
---|
838 | [out] BSTR *pBstrDllName,
|
---|
839 | [out] BSTR *pBstrName,
|
---|
840 | [out] WORD *pwOrdinal);
|
---|
841 |
|
---|
842 | HRESULT GetRefTypeInfo(
|
---|
843 | [in] HREFTYPE hRefType,
|
---|
844 | [out] ITypeInfo **ppTInfo);
|
---|
845 |
|
---|
846 | [local]
|
---|
847 | HRESULT AddressOfMember(
|
---|
848 | [in] MEMBERID memid,
|
---|
849 | [in] INVOKEKIND invKind,
|
---|
850 | [out] PVOID *ppv);
|
---|
851 |
|
---|
852 | [call_as(AddressOfMember)]
|
---|
853 | HRESULT LocalAddressOfMember();
|
---|
854 |
|
---|
855 | [local]
|
---|
856 | HRESULT CreateInstance(
|
---|
857 | [in] IUnknown *pUnkOuter,
|
---|
858 | [in] REFIID riid,
|
---|
859 | [out, iid_is(riid)] PVOID *ppvObj);
|
---|
860 |
|
---|
861 | [call_as(CreateInstance)]
|
---|
862 | HRESULT RemoteCreateInstance(
|
---|
863 | [in] REFIID riid,
|
---|
864 | [out, iid_is(riid)] IUnknown **ppvObj);
|
---|
865 |
|
---|
866 | HRESULT GetMops(
|
---|
867 | [in] MEMBERID memid,
|
---|
868 | [out] BSTR *pBstrMops);
|
---|
869 |
|
---|
870 | [local]
|
---|
871 | HRESULT GetContainingTypeLib(
|
---|
872 | [out] ITypeLib **ppTLib,
|
---|
873 | [out] UINT *pIndex);
|
---|
874 |
|
---|
875 | [call_as(GetContainingTypeLib)]
|
---|
876 | HRESULT RemoteGetContainingTypeLib(
|
---|
877 | [out] ITypeLib **ppTLib,
|
---|
878 | [out] UINT *pIndex);
|
---|
879 |
|
---|
880 | [local]
|
---|
881 | void ReleaseTypeAttr(
|
---|
882 | [in] TYPEATTR *pTypeAttr);
|
---|
883 |
|
---|
884 | [call_as(ReleaseTypeAttr)]
|
---|
885 | HRESULT LocalReleaseTypeAttr();
|
---|
886 |
|
---|
887 | [local]
|
---|
888 | void ReleaseFuncDesc(
|
---|
889 | [in] FUNCDESC *pFuncDesc);
|
---|
890 |
|
---|
891 | [call_as(ReleaseFuncDesc)]
|
---|
892 | HRESULT LocalReleaseFuncDesc();
|
---|
893 |
|
---|
894 | [local]
|
---|
895 | void ReleaseVarDesc(
|
---|
896 | [in] VARDESC *pVarDesc);
|
---|
897 |
|
---|
898 | [call_as(ReleaseVarDesc)]
|
---|
899 | HRESULT LocalReleaseVarDesc();
|
---|
900 | }
|
---|
901 |
|
---|
902 | [
|
---|
903 | object,
|
---|
904 | uuid(00020412-0000-0000-C000-000000000046),
|
---|
905 | pointer_default(unique)
|
---|
906 | ]
|
---|
907 | interface ITypeInfo2 : ITypeInfo
|
---|
908 | {
|
---|
909 | typedef [unique] ITypeInfo2 *LPTYPEINFO2;
|
---|
910 |
|
---|
911 | HRESULT GetTypeKind(
|
---|
912 | [out] TYPEKIND *pTypeKind);
|
---|
913 |
|
---|
914 | HRESULT GetTypeFlags(
|
---|
915 | [out] ULONG *pTypeFlags);
|
---|
916 |
|
---|
917 | HRESULT GetFuncIndexOfMemId(
|
---|
918 | [in] MEMBERID memid,
|
---|
919 | [in] INVOKEKIND invKind,
|
---|
920 | [out] UINT *pFuncIndex);
|
---|
921 |
|
---|
922 | HRESULT GetVarIndexOfMemId(
|
---|
923 | [in] MEMBERID memid,
|
---|
924 | [out] UINT *pVarIndex);
|
---|
925 |
|
---|
926 | HRESULT GetCustData(
|
---|
927 | [in] REFGUID guid,
|
---|
928 | [out] VARIANT *pVarVal);
|
---|
929 |
|
---|
930 | HRESULT GetFuncCustData(
|
---|
931 | [in] UINT index,
|
---|
932 | [in] REFGUID guid,
|
---|
933 | [out] VARIANT *pVarVal);
|
---|
934 |
|
---|
935 | HRESULT GetParamCustData(
|
---|
936 | [in] UINT indexFunc,
|
---|
937 | [in] UINT indexParam,
|
---|
938 | [in] REFGUID guid,
|
---|
939 | [out] VARIANT *pVarVal);
|
---|
940 |
|
---|
941 | HRESULT GetVarCustData(
|
---|
942 | [in] UINT index,
|
---|
943 | [in] REFGUID guid,
|
---|
944 | [out] VARIANT *pVarVal);
|
---|
945 |
|
---|
946 | HRESULT GetImplTypeCustData(
|
---|
947 | [in] UINT index,
|
---|
948 | [in] REFGUID guid,
|
---|
949 | [out] VARIANT *pVarVal);
|
---|
950 |
|
---|
951 | [local]
|
---|
952 | HRESULT GetDocumentation2(
|
---|
953 | [in] MEMBERID memid,
|
---|
954 | [in] LCID lcid,
|
---|
955 | [out] BSTR *pbstrHelpString,
|
---|
956 | [out] DWORD *pdwHelpStringContext,
|
---|
957 | [out] BSTR *pbstrHelpStringDll);
|
---|
958 |
|
---|
959 | [call_as(GetDocumentation2)]
|
---|
960 | HRESULT RemoteGetDocumentation2(
|
---|
961 | [in] MEMBERID memid,
|
---|
962 | [in] LCID lcid,
|
---|
963 | [in] DWORD refPtrFlags,
|
---|
964 | [out] BSTR *pbstrHelpString,
|
---|
965 | [out] DWORD *pdwHelpStringContext,
|
---|
966 | [out] BSTR *pbstrHelpStringDll);
|
---|
967 |
|
---|
968 | HRESULT GetAllCustData(
|
---|
969 | [out] CUSTDATA *pCustData);
|
---|
970 |
|
---|
971 | HRESULT GetAllFuncCustData(
|
---|
972 | [in] UINT index,
|
---|
973 | [out] CUSTDATA *pCustData);
|
---|
974 |
|
---|
975 | HRESULT GetAllParamCustData(
|
---|
976 | [in] UINT indexFunc,
|
---|
977 | [in] UINT indexParam,
|
---|
978 | [out] CUSTDATA *pCustData);
|
---|
979 |
|
---|
980 | HRESULT GetAllVarCustData(
|
---|
981 | [in] UINT index,
|
---|
982 | [out] CUSTDATA *pCustData);
|
---|
983 |
|
---|
984 | HRESULT GetAllImplTypeCustData(
|
---|
985 | [in] UINT index,
|
---|
986 | [out] CUSTDATA *pCustData);
|
---|
987 | }
|
---|
988 |
|
---|
989 | [
|
---|
990 | object,
|
---|
991 | uuid(00020402-0000-0000-C000-000000000046),
|
---|
992 | pointer_default(unique)
|
---|
993 | ]
|
---|
994 | interface ITypeLib : IUnknown
|
---|
995 | {
|
---|
996 | typedef [unique] ITypeLib *LPTYPELIB;
|
---|
997 |
|
---|
998 | typedef [v1_enum] enum tagSYSKIND {
|
---|
999 | SYS_WIN16 = 0,
|
---|
1000 | SYS_WIN32,
|
---|
1001 | SYS_MAC,
|
---|
1002 | SYS_WIN64
|
---|
1003 | } SYSKIND;
|
---|
1004 |
|
---|
1005 | typedef [v1_enum] enum tagLIBFLAGS {
|
---|
1006 | LIBFLAG_FRESTRICTED = 0x01,
|
---|
1007 | LIBFLAG_FCONTROL = 0x02,
|
---|
1008 | LIBFLAG_FHIDDEN = 0x04,
|
---|
1009 | LIBFLAG_FHASDISKIMAGE = 0x08
|
---|
1010 | } LIBFLAGS;
|
---|
1011 |
|
---|
1012 | typedef struct tagTLIBATTR {
|
---|
1013 | GUID guid;
|
---|
1014 | LCID lcid;
|
---|
1015 | SYSKIND syskind;
|
---|
1016 | WORD wMajorVerNum;
|
---|
1017 | WORD wMinorVerNum;
|
---|
1018 | WORD wLibFlags;
|
---|
1019 | } TLIBATTR, *LPTLIBATTR;
|
---|
1020 |
|
---|
1021 | [local]
|
---|
1022 | UINT GetTypeInfoCount();
|
---|
1023 |
|
---|
1024 | [call_as(GetTypeInfoCount)]
|
---|
1025 | HRESULT RemoteGetTypeInfoCount(
|
---|
1026 | [out] UINT *pcTInfo);
|
---|
1027 |
|
---|
1028 | HRESULT GetTypeInfo(
|
---|
1029 | [in] UINT index,
|
---|
1030 | [out] ITypeInfo **ppTInfo);
|
---|
1031 |
|
---|
1032 | HRESULT GetTypeInfoType(
|
---|
1033 | [in] UINT index,
|
---|
1034 | [out] TYPEKIND *pTKind);
|
---|
1035 |
|
---|
1036 | HRESULT GetTypeInfoOfGuid(
|
---|
1037 | [in] REFGUID guid,
|
---|
1038 | [out] ITypeInfo **ppTinfo);
|
---|
1039 |
|
---|
1040 | [local]
|
---|
1041 | HRESULT GetLibAttr(
|
---|
1042 | [out] TLIBATTR **ppTLibAttr);
|
---|
1043 |
|
---|
1044 | [call_as(GetLibAttr)]
|
---|
1045 | HRESULT RemoteGetLibAttr(
|
---|
1046 | [out] LPTLIBATTR *ppTLibAttr,
|
---|
1047 | [out] CLEANLOCALSTORAGE *pDummy);
|
---|
1048 |
|
---|
1049 | HRESULT GetTypeComp(
|
---|
1050 | [out] ITypeComp **ppTComp);
|
---|
1051 |
|
---|
1052 | [local]
|
---|
1053 | HRESULT GetDocumentation(
|
---|
1054 | [in] INT index,
|
---|
1055 | [out] BSTR *pBstrName,
|
---|
1056 | [out] BSTR *pBstrDocString,
|
---|
1057 | [out] DWORD *pdwHelpContext,
|
---|
1058 | [out] BSTR *pBstrHelpFile);
|
---|
1059 |
|
---|
1060 | [call_as(GetDocumentation)]
|
---|
1061 | HRESULT RemoteGetDocumentation(
|
---|
1062 | [in] INT index,
|
---|
1063 | [in] DWORD refPtrFlags,
|
---|
1064 | [out] BSTR *pBstrName,
|
---|
1065 | [out] BSTR *pBstrDocString,
|
---|
1066 | [out] DWORD *pdwHelpContext,
|
---|
1067 | [out] BSTR *pBstrHelpFile);
|
---|
1068 |
|
---|
1069 | [local]
|
---|
1070 | HRESULT IsName(
|
---|
1071 | [in, out] LPOLESTR szNameBuf,
|
---|
1072 | [in] ULONG lHashVal,
|
---|
1073 | [out] BOOL *pfName);
|
---|
1074 |
|
---|
1075 | [call_as(IsName)]
|
---|
1076 | HRESULT RemoteIsName(
|
---|
1077 | [in] LPOLESTR szNameBuf,
|
---|
1078 | [in] ULONG lHashVal,
|
---|
1079 | [out] BOOL *pfName,
|
---|
1080 | [out] BSTR *pBstrLibName);
|
---|
1081 |
|
---|
1082 | [local]
|
---|
1083 | HRESULT FindName(
|
---|
1084 | [in, out] LPOLESTR szNameBuf,
|
---|
1085 | [in] ULONG lHashVal,
|
---|
1086 | [out, size_is(*pcFound), length_is(*pcFound)] ITypeInfo **ppTInfo,
|
---|
1087 | [out, size_is(*pcFound), length_is(*pcFound)] MEMBERID *rgMemId,
|
---|
1088 | [in, out] USHORT *pcFound);
|
---|
1089 |
|
---|
1090 | [call_as(FindName)]
|
---|
1091 | HRESULT RemoteFindName(
|
---|
1092 | [in] LPOLESTR szNameBuf,
|
---|
1093 | [in] ULONG lHashVal,
|
---|
1094 | [out, size_is(*pcFound), length_is(*pcFound)] ITypeInfo **ppTInfo,
|
---|
1095 | [out, size_is(*pcFound), length_is(*pcFound)] MEMBERID *rgMemId,
|
---|
1096 | [in, out] USHORT *pcFound,
|
---|
1097 | [out] BSTR *pBstrLibName);
|
---|
1098 |
|
---|
1099 | [local]
|
---|
1100 | void ReleaseTLibAttr(
|
---|
1101 | [in] TLIBATTR *pTLibAttr);
|
---|
1102 |
|
---|
1103 | [call_as(ReleaseTLibAttr)]
|
---|
1104 | HRESULT LocalReleaseTLibAttr();
|
---|
1105 | }
|
---|
1106 |
|
---|
1107 | [
|
---|
1108 | object,
|
---|
1109 | uuid(00020411-0000-0000-C000-000000000046),
|
---|
1110 | pointer_default(unique)
|
---|
1111 | ]
|
---|
1112 | interface ITypeLib2 : ITypeLib
|
---|
1113 | {
|
---|
1114 | typedef [unique] ITypeLib2 *LPTYPELIB2;
|
---|
1115 |
|
---|
1116 | HRESULT GetCustData(
|
---|
1117 | [in] REFGUID guid,
|
---|
1118 | [out] VARIANT *pVarVal);
|
---|
1119 |
|
---|
1120 | [local]
|
---|
1121 | HRESULT GetLibStatistics(
|
---|
1122 | [out] ULONG *pcUniqueNames,
|
---|
1123 | [out] ULONG *pcchUniqueNames);
|
---|
1124 |
|
---|
1125 | [call_as(GetLibStatistics)]
|
---|
1126 | HRESULT RemoteGetLibStatistics(
|
---|
1127 | [out] ULONG *pcUniqueNames,
|
---|
1128 | [out] ULONG *pcchUniqueNames);
|
---|
1129 |
|
---|
1130 | [local]
|
---|
1131 | HRESULT GetDocumentation2(
|
---|
1132 | [in] INT index,
|
---|
1133 | [in] LCID lcid,
|
---|
1134 | [out] BSTR *pbstrHelpString,
|
---|
1135 | [out] DWORD *pdwHelpStringContext,
|
---|
1136 | [out] BSTR *pbstrHelpStringDll);
|
---|
1137 |
|
---|
1138 | [call_as(GetDocumentation2)]
|
---|
1139 | HRESULT RemoteGetDocumentation2(
|
---|
1140 | [in] INT index,
|
---|
1141 | [in] LCID lcid,
|
---|
1142 | [in] DWORD refPtrFlags,
|
---|
1143 | [out] BSTR *pbstrHelpString,
|
---|
1144 | [out] DWORD *pdwHelpStringContext,
|
---|
1145 | [out] BSTR *pbstrHelpStringDll);
|
---|
1146 |
|
---|
1147 | HRESULT GetAllCustData(
|
---|
1148 | [out] CUSTDATA *pCustData);
|
---|
1149 | }
|
---|
1150 |
|
---|
1151 | [
|
---|
1152 | local,
|
---|
1153 | object,
|
---|
1154 | uuid(00020410-0000-0000-C000-000000000046),
|
---|
1155 | pointer_default(unique)
|
---|
1156 | ]
|
---|
1157 | interface ITypeChangeEvents : IUnknown
|
---|
1158 | {
|
---|
1159 | typedef [unique] ITypeChangeEvents *LPTYPECHANGEEVENTS;
|
---|
1160 |
|
---|
1161 | typedef enum tagCHANGEKIND {
|
---|
1162 | CHANGEKIND_ADDMEMBER,
|
---|
1163 | CHANGEKIND_DELETEMEMBER,
|
---|
1164 | CHANGEKIND_SETNAMES,
|
---|
1165 | CHANGEKIND_SETDOCUMENTATION,
|
---|
1166 | CHANGEKIND_GENERAL,
|
---|
1167 | CHANGEKIND_INVALIDATE,
|
---|
1168 | CHANGEKIND_CHANGEFAILED,
|
---|
1169 | CHANGEKIND_MAX
|
---|
1170 | } CHANGEKIND;
|
---|
1171 |
|
---|
1172 | HRESULT RequestTypeChange(
|
---|
1173 | [in] CHANGEKIND changeKind,
|
---|
1174 | [in] ITypeInfo *pTInfoBefore,
|
---|
1175 | [in] LPOLESTR pStrName,
|
---|
1176 | [out] INT *pfCancel);
|
---|
1177 |
|
---|
1178 | HRESULT AfterTypeChange(
|
---|
1179 | [in] CHANGEKIND changeKind,
|
---|
1180 | [in] ITypeInfo *pTInfoAfter,
|
---|
1181 | [in] LPOLESTR pStrName);
|
---|
1182 | }
|
---|
1183 |
|
---|
1184 | [
|
---|
1185 | object,
|
---|
1186 | uuid(1CF2B120-547D-101B-8E65-08002B2BD119),
|
---|
1187 | pointer_default(unique)
|
---|
1188 | ]
|
---|
1189 | interface IErrorInfo : IUnknown
|
---|
1190 | {
|
---|
1191 | typedef [unique] IErrorInfo *LPERRORINFO;
|
---|
1192 |
|
---|
1193 | HRESULT GetGUID(
|
---|
1194 | [out] GUID *pGUID);
|
---|
1195 |
|
---|
1196 | HRESULT GetSource(
|
---|
1197 | [out] BSTR *pBstrSource);
|
---|
1198 |
|
---|
1199 | HRESULT GetDescription(
|
---|
1200 | [out] BSTR *pBstrDescription);
|
---|
1201 |
|
---|
1202 | HRESULT GetHelpFile(
|
---|
1203 | [out] BSTR *pBstrHelpFile);
|
---|
1204 |
|
---|
1205 | HRESULT GetHelpContext(
|
---|
1206 | [out] DWORD *pdwHelpContext);
|
---|
1207 | }
|
---|
1208 |
|
---|
1209 | [
|
---|
1210 | object,
|
---|
1211 | uuid(22F03340-547D-101B-8E65-08002B2BD119),
|
---|
1212 | pointer_default(unique)
|
---|
1213 | ]
|
---|
1214 | interface ICreateErrorInfo : IUnknown
|
---|
1215 | {
|
---|
1216 | typedef [unique] ICreateErrorInfo *LPCREATEERRORINFO;
|
---|
1217 |
|
---|
1218 | HRESULT SetGUID(
|
---|
1219 | [in] REFGUID rguid);
|
---|
1220 |
|
---|
1221 | HRESULT SetSource(
|
---|
1222 | [in] LPOLESTR szSource);
|
---|
1223 |
|
---|
1224 | HRESULT SetDescription(
|
---|
1225 | [in] LPOLESTR szDescription);
|
---|
1226 |
|
---|
1227 | HRESULT SetHelpFile(
|
---|
1228 | [in] LPOLESTR szHelpFile);
|
---|
1229 |
|
---|
1230 | HRESULT SetHelpContext(
|
---|
1231 | [in] DWORD dwHelpContext);
|
---|
1232 | }
|
---|
1233 |
|
---|
1234 | [
|
---|
1235 | object,
|
---|
1236 | uuid(DF0B3D60-548F-101B-8E65-08002B2BD119),
|
---|
1237 | pointer_default(unique)
|
---|
1238 | ]
|
---|
1239 | interface ISupportErrorInfo : IUnknown
|
---|
1240 | {
|
---|
1241 | typedef [unique] ISupportErrorInfo *LPSUPPORTERRORINFO;
|
---|
1242 |
|
---|
1243 | HRESULT InterfaceSupportsErrorInfo(
|
---|
1244 | [in] REFIID riid);
|
---|
1245 | }
|
---|
1246 |
|
---|
1247 | [
|
---|
1248 | object,
|
---|
1249 | uuid(0000002E-0000-0000-C000-000000000046)
|
---|
1250 | ]
|
---|
1251 | interface ITypeFactory : IUnknown
|
---|
1252 | {
|
---|
1253 | HRESULT CreateFromTypeInfo(
|
---|
1254 | [in] ITypeInfo *pTypeInfo,
|
---|
1255 | [in] REFIID riid,
|
---|
1256 | [out, iid_is(riid)] IUnknown **ppv);
|
---|
1257 | }
|
---|
1258 |
|
---|
1259 | [
|
---|
1260 | local,
|
---|
1261 | object,
|
---|
1262 | uuid(0000002D-0000-0000-C000-000000000046)
|
---|
1263 | ]
|
---|
1264 | interface ITypeMarshal : IUnknown
|
---|
1265 | {
|
---|
1266 | HRESULT Size(
|
---|
1267 | [in] PVOID pvType,
|
---|
1268 | [in] DWORD dwDestContext,
|
---|
1269 | [in] PVOID pvDestContext,
|
---|
1270 | [out] ULONG *pSize);
|
---|
1271 |
|
---|
1272 | HRESULT Marshal(
|
---|
1273 | [in] PVOID pvType,
|
---|
1274 | [in] DWORD dwDestContext,
|
---|
1275 | [in] PVOID pvDestContext,
|
---|
1276 | [in] ULONG cbBufferLength,
|
---|
1277 | [out] BYTE *pBuffer,
|
---|
1278 | [out] ULONG *pcbWritten);
|
---|
1279 |
|
---|
1280 | HRESULT Unmarshal(
|
---|
1281 | [out] PVOID pvType,
|
---|
1282 | [in] DWORD dwFlags,
|
---|
1283 | [in] ULONG cbBufferLength,
|
---|
1284 | [in] BYTE *pBuffer,
|
---|
1285 | [out] ULONG *pcbRead);
|
---|
1286 |
|
---|
1287 | HRESULT Free(
|
---|
1288 | [in] PVOID pvType);
|
---|
1289 | }
|
---|
1290 |
|
---|
1291 | [
|
---|
1292 | local,
|
---|
1293 | object,
|
---|
1294 | uuid(0000002F-0000-0000-C000-000000000046)
|
---|
1295 | ]
|
---|
1296 | interface IRecordInfo : IUnknown
|
---|
1297 | {
|
---|
1298 | typedef [unique] IRecordInfo *LPRECORDINFO;
|
---|
1299 |
|
---|
1300 | HRESULT RecordInit(
|
---|
1301 | [out] PVOID pvNew);
|
---|
1302 |
|
---|
1303 | HRESULT RecordClear(
|
---|
1304 | [in] PVOID pvExisting);
|
---|
1305 |
|
---|
1306 | HRESULT RecordCopy(
|
---|
1307 | [in] PVOID pvExisting,
|
---|
1308 | [out] PVOID pvNew);
|
---|
1309 |
|
---|
1310 | HRESULT GetGuid(
|
---|
1311 | [out] GUID *pguid);
|
---|
1312 |
|
---|
1313 | HRESULT GetName(
|
---|
1314 | [out] BSTR *pbstrName);
|
---|
1315 |
|
---|
1316 | HRESULT GetSize(
|
---|
1317 | [out] ULONG *pcbSize);
|
---|
1318 |
|
---|
1319 | HRESULT GetTypeInfo(
|
---|
1320 | [out] ITypeInfo **ppTypeInfo);
|
---|
1321 |
|
---|
1322 | HRESULT GetField(
|
---|
1323 | [in] PVOID pvData,
|
---|
1324 | [in] LPCOLESTR szFieldName,
|
---|
1325 | [out] VARIANT *pvarField);
|
---|
1326 |
|
---|
1327 | HRESULT GetFieldNoCopy(
|
---|
1328 | [in] PVOID pvData,
|
---|
1329 | [in] LPCOLESTR szFieldName,
|
---|
1330 | [out] VARIANT *pvarField,
|
---|
1331 | [out] PVOID *ppvDataCArray);
|
---|
1332 |
|
---|
1333 | HRESULT PutField(
|
---|
1334 | [in] ULONG wFlags,
|
---|
1335 | [in, out] PVOID pvData,
|
---|
1336 | [in] LPCOLESTR szFieldName,
|
---|
1337 | [in] VARIANT *pvarField);
|
---|
1338 |
|
---|
1339 | HRESULT PutFieldNoCopy(
|
---|
1340 | [in] ULONG wFlags,
|
---|
1341 | [in, out] PVOID pvData,
|
---|
1342 | [in] LPCOLESTR szFieldName,
|
---|
1343 | [in] VARIANT *pvarField);
|
---|
1344 |
|
---|
1345 | HRESULT GetFieldNames(
|
---|
1346 | [in, out] ULONG *pcNames,
|
---|
1347 | [out, size_is(*pcNames), length_is(*pcNames)] BSTR *rgBstrNames);
|
---|
1348 |
|
---|
1349 | BOOL IsMatchingType(
|
---|
1350 | [in] IRecordInfo *pRecordInfo);
|
---|
1351 |
|
---|
1352 | PVOID RecordCreate();
|
---|
1353 |
|
---|
1354 | HRESULT RecordCreateCopy(
|
---|
1355 | [in] PVOID pvSource,
|
---|
1356 | [out] PVOID *ppvDest);
|
---|
1357 |
|
---|
1358 | HRESULT RecordDestroy(
|
---|
1359 | [in] PVOID pvRecord);
|
---|
1360 | }
|
---|
1361 |
|
---|
1362 | [
|
---|
1363 | local,
|
---|
1364 | object,
|
---|
1365 | uuid(00020405-0000-0000-C000-000000000046),
|
---|
1366 | pointer_default(unique)
|
---|
1367 | ]
|
---|
1368 | interface ICreateTypeInfo : IUnknown
|
---|
1369 | {
|
---|
1370 | typedef [unique] ICreateTypeInfo *LPCREATETYPEINFO;
|
---|
1371 |
|
---|
1372 | HRESULT SetGuid(
|
---|
1373 | [in] REFGUID guid);
|
---|
1374 |
|
---|
1375 | HRESULT SetTypeFlags(
|
---|
1376 | [in] UINT uTypeFlags);
|
---|
1377 |
|
---|
1378 | HRESULT SetDocString(
|
---|
1379 | [in] LPOLESTR pStrDoc);
|
---|
1380 |
|
---|
1381 | HRESULT SetHelpContext(
|
---|
1382 | [in] DWORD dwHelpContext);
|
---|
1383 |
|
---|
1384 | HRESULT SetVersion(
|
---|
1385 | [in] WORD wMajorVerNum,
|
---|
1386 | [in] WORD wMinorVerNum);
|
---|
1387 |
|
---|
1388 | HRESULT AddRefTypeInfo(
|
---|
1389 | [in] ITypeInfo *pTInfo,
|
---|
1390 | [in] HREFTYPE *phRefType);
|
---|
1391 |
|
---|
1392 | HRESULT AddFuncDesc(
|
---|
1393 | [in] UINT index,
|
---|
1394 | [in] FUNCDESC *pFuncDesc);
|
---|
1395 |
|
---|
1396 | HRESULT AddImplType(
|
---|
1397 | [in] UINT index,
|
---|
1398 | [in] HREFTYPE hRefType);
|
---|
1399 |
|
---|
1400 | HRESULT SetImplTypeFlags(
|
---|
1401 | [in] UINT index,
|
---|
1402 | [in] INT implTypeFlags);
|
---|
1403 |
|
---|
1404 | HRESULT SetAlignment(
|
---|
1405 | [in] WORD cbAlignment);
|
---|
1406 |
|
---|
1407 | HRESULT SetSchema(
|
---|
1408 | [in] LPOLESTR pStrSchema);
|
---|
1409 |
|
---|
1410 | HRESULT AddVarDesc(
|
---|
1411 | [in] UINT index,
|
---|
1412 | [in] VARDESC *pVarDesc);
|
---|
1413 |
|
---|
1414 | HRESULT SetFuncAndParamNames(
|
---|
1415 | [in] UINT index,
|
---|
1416 | [in, size_is(cNames)] LPOLESTR *rgszNames,
|
---|
1417 | [in] UINT cNames);
|
---|
1418 |
|
---|
1419 | HRESULT SetVarName(
|
---|
1420 | [in] UINT index,
|
---|
1421 | [in] LPOLESTR szName);
|
---|
1422 |
|
---|
1423 | HRESULT SetTypeDescAlias(
|
---|
1424 | [in] TYPEDESC *pTDescAlias);
|
---|
1425 |
|
---|
1426 | HRESULT DefineFuncAsDllEntry(
|
---|
1427 | [in] UINT index,
|
---|
1428 | [in] LPOLESTR szDllName,
|
---|
1429 | [in] LPOLESTR szProcName);
|
---|
1430 |
|
---|
1431 | HRESULT SetFuncDocString(
|
---|
1432 | [in] UINT index,
|
---|
1433 | [in] LPOLESTR szDocString);
|
---|
1434 |
|
---|
1435 | HRESULT SetVarDocString(
|
---|
1436 | [in] UINT index,
|
---|
1437 | [in] LPOLESTR szDocString);
|
---|
1438 |
|
---|
1439 | HRESULT SetFuncHelpContext(
|
---|
1440 | [in] UINT index,
|
---|
1441 | [in] DWORD dwHelpContext);
|
---|
1442 |
|
---|
1443 | HRESULT SetVarHelpContext(
|
---|
1444 | [in] UINT index,
|
---|
1445 | [in] DWORD dwHelpContext);
|
---|
1446 |
|
---|
1447 | HRESULT SetMops(
|
---|
1448 | [in] UINT index,
|
---|
1449 | [in] BSTR bstrMops);
|
---|
1450 |
|
---|
1451 | HRESULT SetTypeIdldesc(
|
---|
1452 | [in] IDLDESC * pIdlDesc);
|
---|
1453 |
|
---|
1454 | HRESULT LayOut();
|
---|
1455 | }
|
---|
1456 |
|
---|
1457 | [
|
---|
1458 | local,
|
---|
1459 | object,
|
---|
1460 | uuid(0002040E-0000-0000-C000-000000000046),
|
---|
1461 | pointer_default(unique)
|
---|
1462 | ]
|
---|
1463 | interface ICreateTypeInfo2 : ICreateTypeInfo
|
---|
1464 | {
|
---|
1465 | typedef [unique] ICreateTypeInfo2 *LPCREATETYPEINFO2;
|
---|
1466 |
|
---|
1467 | HRESULT DeleteFuncDesc(
|
---|
1468 | [in] UINT index);
|
---|
1469 |
|
---|
1470 | HRESULT DeleteFuncDescByMemId(
|
---|
1471 | [in] MEMBERID memid,
|
---|
1472 | [in] INVOKEKIND invKind);
|
---|
1473 |
|
---|
1474 | HRESULT DeleteVarDesc(
|
---|
1475 | [in] UINT index);
|
---|
1476 |
|
---|
1477 | HRESULT DeleteVarDescByMemId(
|
---|
1478 | [in] MEMBERID memid);
|
---|
1479 |
|
---|
1480 | HRESULT DeleteImplType(
|
---|
1481 | [in] UINT index);
|
---|
1482 |
|
---|
1483 | HRESULT SetCustData(
|
---|
1484 | [in] REFGUID guid,
|
---|
1485 | [in] VARIANT *pVarVal);
|
---|
1486 |
|
---|
1487 | HRESULT SetFuncCustData(
|
---|
1488 | [in] UINT index,
|
---|
1489 | [in] REFGUID guid,
|
---|
1490 | [in] VARIANT *pVarVal);
|
---|
1491 |
|
---|
1492 | HRESULT SetParamCustData(
|
---|
1493 | [in] UINT indexFunc,
|
---|
1494 | [in] UINT indexParam,
|
---|
1495 | [in] REFGUID guid,
|
---|
1496 | [in] VARIANT *pVarVal);
|
---|
1497 |
|
---|
1498 | HRESULT SetVarCustData(
|
---|
1499 | [in] UINT index,
|
---|
1500 | [in] REFGUID guid,
|
---|
1501 | [in] VARIANT *pVarVal);
|
---|
1502 |
|
---|
1503 | HRESULT SetImplTypeCustData(
|
---|
1504 | [in] UINT index,
|
---|
1505 | [in] REFGUID guid,
|
---|
1506 | [in] VARIANT *pVarVal);
|
---|
1507 |
|
---|
1508 | HRESULT SetHelpStringContext(
|
---|
1509 | [in] ULONG dwHelpStringContext);
|
---|
1510 |
|
---|
1511 | HRESULT SetFuncHelpStringContext(
|
---|
1512 | [in] UINT index,
|
---|
1513 | [in] ULONG dwHelpStringContext);
|
---|
1514 |
|
---|
1515 | HRESULT SetVarHelpStringContext(
|
---|
1516 | [in] UINT index,
|
---|
1517 | [in] ULONG dwHelpStringContext);
|
---|
1518 |
|
---|
1519 | HRESULT Invalidate();
|
---|
1520 |
|
---|
1521 | HRESULT SetName(
|
---|
1522 | [in] LPOLESTR szName);
|
---|
1523 | }
|
---|
1524 |
|
---|
1525 | [
|
---|
1526 | local,
|
---|
1527 | object,
|
---|
1528 | uuid(00020406-0000-0000-C000-000000000046),
|
---|
1529 | pointer_default(unique)
|
---|
1530 | ]
|
---|
1531 | interface ICreateTypeLib : IUnknown
|
---|
1532 | {
|
---|
1533 | typedef [unique] ICreateTypeLib *LPCREATETYPELIB;
|
---|
1534 |
|
---|
1535 | HRESULT CreateTypeInfo(
|
---|
1536 | [in] LPOLESTR szName,
|
---|
1537 | [in] TYPEKIND tkind,
|
---|
1538 | [out] ICreateTypeInfo **ppCTInfo);
|
---|
1539 |
|
---|
1540 | HRESULT SetName(
|
---|
1541 | [in] LPOLESTR szName);
|
---|
1542 |
|
---|
1543 | HRESULT SetVersion(
|
---|
1544 | [in] WORD wMajorVerNum,
|
---|
1545 | [in] WORD wMinorVerNum);
|
---|
1546 |
|
---|
1547 | HRESULT SetGuid(
|
---|
1548 | [in] REFGUID guid);
|
---|
1549 |
|
---|
1550 | HRESULT SetDocString(
|
---|
1551 | [in] LPOLESTR szDoc);
|
---|
1552 |
|
---|
1553 | HRESULT SetHelpFileName(
|
---|
1554 | [in] LPOLESTR szHelpFileName);
|
---|
1555 |
|
---|
1556 | HRESULT SetHelpContext(
|
---|
1557 | [in] DWORD dwHelpContext);
|
---|
1558 |
|
---|
1559 | HRESULT SetLcid(
|
---|
1560 | [in] LCID lcid);
|
---|
1561 |
|
---|
1562 | HRESULT SetLibFlags(
|
---|
1563 | [in] UINT uLibFlags);
|
---|
1564 |
|
---|
1565 | HRESULT SaveAllChanges();
|
---|
1566 | }
|
---|
1567 |
|
---|
1568 | [
|
---|
1569 | local,
|
---|
1570 | object,
|
---|
1571 | uuid(0002040F-0000-0000-C000-000000000046),
|
---|
1572 | pointer_default(unique)
|
---|
1573 | ]
|
---|
1574 | interface ICreateTypeLib2 : ICreateTypeLib
|
---|
1575 | {
|
---|
1576 | typedef [unique] ICreateTypeLib2 *LPCREATETYPELIB2;
|
---|
1577 |
|
---|
1578 | HRESULT DeleteTypeInfo(
|
---|
1579 | [in] LPOLESTR szName);
|
---|
1580 |
|
---|
1581 | HRESULT SetCustData(
|
---|
1582 | [in] REFGUID guid,
|
---|
1583 | [in] VARIANT *pVarVal);
|
---|
1584 |
|
---|
1585 | HRESULT SetHelpStringContext(
|
---|
1586 | [in] ULONG dwHelpStringContext);
|
---|
1587 |
|
---|
1588 | HRESULT SetHelpStringDll(
|
---|
1589 | [in] LPOLESTR szFileName);
|
---|
1590 | }
|
---|
1591 |
|
---|
1592 |
|
---|
1593 | /*****************************************************************************
|
---|
1594 | * IErrorLog interface
|
---|
1595 | */
|
---|
1596 | [
|
---|
1597 | object,
|
---|
1598 | uuid(3127ca40-446e-11ce-8135-00aa004bb851),
|
---|
1599 | pointer_default(unique)
|
---|
1600 | ]
|
---|
1601 | interface IErrorLog : IUnknown
|
---|
1602 | {
|
---|
1603 | typedef IErrorLog *LPERRORLOG;
|
---|
1604 |
|
---|
1605 | HRESULT AddError(
|
---|
1606 | [in] LPCOLESTR pszPropName,
|
---|
1607 | [in] EXCEPINFO *pExcepInfo);
|
---|
1608 | }
|
---|
1609 |
|
---|
1610 |
|
---|
1611 | /*****************************************************************************
|
---|
1612 | * IPropertyBag interface
|
---|
1613 | */
|
---|
1614 | [
|
---|
1615 | object,
|
---|
1616 | uuid(55272a00-42cb-11ce-8135-00aa004bb851),
|
---|
1617 | pointer_default(unique)
|
---|
1618 | ]
|
---|
1619 | interface IPropertyBag : IUnknown
|
---|
1620 | {
|
---|
1621 | typedef IPropertyBag *LPPROPERTYBAG;
|
---|
1622 |
|
---|
1623 | [local]
|
---|
1624 | HRESULT Read(
|
---|
1625 | [in] LPCOLESTR pszPropName,
|
---|
1626 | [in, out] VARIANT *pVar,
|
---|
1627 | [in] IErrorLog *pErrorLog);
|
---|
1628 |
|
---|
1629 | [call_as(Read)]
|
---|
1630 | HRESULT RemoteRead(
|
---|
1631 | [in] LPCOLESTR pszPropName,
|
---|
1632 | [out] VARIANT *pVar,
|
---|
1633 | [in] IErrorLog *pErrorLog,
|
---|
1634 | [in] DWORD varType,
|
---|
1635 | [in] IUnknown *pUnkObj);
|
---|
1636 |
|
---|
1637 | HRESULT Write(
|
---|
1638 | [in] LPCOLESTR pszPropName,
|
---|
1639 | [in] VARIANT *pVar);
|
---|
1640 | }
|
---|