1
|
1 /***********************************************************************\
|
|
2 * oaidl.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Translated from MinGW Windows headers *
|
|
7 * *
|
|
8 * Placed into public domain *
|
|
9 \***********************************************************************/
|
|
10 module win32.oaidl;
|
|
11
|
|
12 private import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes;
|
|
13
|
|
14 const DISPID_UNKNOWN = -1;
|
|
15 const DISPID_VALUE = 0;
|
|
16 const DISPID_PROPERTYPUT = -3;
|
|
17 const DISPID_NEWENUM = -4;
|
|
18 const DISPID_EVALUATE = -5;
|
|
19 const DISPID_CONSTRUCTOR = -6;
|
|
20 const DISPID_DESTRUCTOR = -7;
|
|
21 const DISPID_COLLECT = -8;
|
|
22
|
|
23 const FADF_AUTO = 1;
|
|
24 const FADF_STATIC = 2;
|
|
25 const FADF_EMBEDDED = 4;
|
|
26 const FADF_FIXEDSIZE = 16;
|
|
27 const FADF_RECORD = 32;
|
|
28 const FADF_HAVEIID = 64;
|
|
29 const FADF_HAVEVARTYPE = 128;
|
|
30 const FADF_BSTR = 256;
|
|
31 const FADF_UNKNOWN = 512;
|
|
32 const FADF_DISPATCH = 1024;
|
|
33 const FADF_VARIANT = 2048;
|
|
34 const FADF_RESERVED = 0xf0e8;
|
|
35 const FADF_DATADELETED = 0x1000;
|
|
36 const FADF_CREATEVECTOR = 0x2000;
|
|
37
|
|
38 const PARAMFLAG_NONE = 0;
|
|
39 const PARAMFLAG_FIN = 1;
|
|
40 const PARAMFLAG_FOUT = 2;
|
|
41 const PARAMFLAG_FLCID = 4;
|
|
42 const PARAMFLAG_FRETVAL = 8;
|
|
43 const PARAMFLAG_FOPT = 16;
|
|
44 const PARAMFLAG_FHASDEFAULT = 32;
|
|
45
|
|
46 const IDLFLAG_NONE = PARAMFLAG_NONE;
|
|
47 const IDLFLAG_FIN = PARAMFLAG_FIN;
|
|
48 const IDLFLAG_FOUT = PARAMFLAG_FOUT;
|
|
49 const IDLFLAG_FLCID = PARAMFLAG_FLCID;
|
|
50 const IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL;
|
|
51
|
|
52 const IMPLTYPEFLAG_FDEFAULT = 1;
|
|
53 const IMPLTYPEFLAG_FSOURCE = 2;
|
|
54 const IMPLTYPEFLAG_FRESTRICTED = 4;
|
|
55 const IMPLTYPEFLAG_FDEFAULTVTABLE = 8;
|
|
56
|
|
57
|
|
58 enum SYSKIND {
|
|
59 SYS_WIN16,
|
|
60 SYS_WIN32,
|
|
61 SYS_MAC
|
|
62 }
|
|
63
|
|
64 enum LIBFLAGS {
|
|
65 LIBFLAG_FRESTRICTED = 1,
|
|
66 LIBFLAG_FCONTROL = 2,
|
|
67 LIBFLAG_FHIDDEN = 4,
|
|
68 LIBFLAG_FHASDISKIMAGE = 8
|
|
69 }
|
|
70
|
|
71 struct TLIBATTR {
|
|
72 GUID guid;
|
|
73 LCID lcid;
|
|
74 SYSKIND syskind;
|
|
75 WORD wMajorVerNum;
|
|
76 WORD wMinorVerNum;
|
|
77 WORD wLibFlags;
|
|
78 }
|
|
79 alias TLIBATTR* LPTLIBATTR;
|
|
80
|
|
81 alias CY CURRENCY;
|
|
82
|
|
83 struct SAFEARRAYBOUND {
|
|
84 ULONG cElements;
|
|
85 LONG lLbound;
|
|
86 }
|
|
87 alias SAFEARRAYBOUND* LPSAFEARRAYBOUND;
|
|
88
|
|
89 struct SAFEARR_BSTR {
|
|
90 ULONG Size;
|
|
91 wireBSTR* aBstr;
|
|
92 }
|
|
93
|
|
94 struct SAFEARR_UNKNOWN {
|
|
95 ULONG Size;
|
|
96 IUnknown** apUnknown;
|
|
97 }
|
|
98
|
|
99 struct SAFEARR_DISPATCH {
|
|
100 ULONG Size;
|
|
101 LPDISPATCH* apDispatch;
|
|
102 }
|
|
103
|
|
104 struct SAFEARR_VARIANT {
|
|
105 ULONG Size;
|
|
106 _wireVARIANT* aVariant;
|
|
107 }
|
|
108
|
|
109 enum SF_TYPE {
|
|
110 SF_ERROR=VARENUM.VT_ERROR,
|
|
111 SF_I1=VARENUM.VT_I1,
|
|
112 SF_I2=VARENUM.VT_I2,
|
|
113 SF_I4=VARENUM.VT_I4,
|
|
114 SF_I8=VARENUM.VT_I8,
|
|
115 SF_BSTR=VARENUM.VT_BSTR,
|
|
116 SF_UNKNOWN=VARENUM.VT_UNKNOWN,
|
|
117 SF_DISPATCH=VARENUM.VT_DISPATCH,
|
|
118 SF_VARIANT=VARENUM.VT_VARIANT
|
|
119 }
|
|
120
|
|
121 struct _wireBRECORD {
|
|
122 ULONG fFlags;
|
|
123 ULONG clSize;
|
|
124 LPRECORDINFO* pRecInfo;
|
|
125 byte* pRecord;
|
|
126 }
|
|
127 alias _wireBRECORD* wireBRECORD;
|
|
128
|
|
129 struct SAFEARR_BRECORD {
|
|
130 ULONG Size;
|
|
131 wireBRECORD* aRecord;
|
|
132 }
|
|
133
|
|
134 struct SAFEARR_HAVEIID {
|
|
135 ULONG Size;
|
|
136 IUnknown** apUnknown;
|
|
137 IID iid;
|
|
138 }
|
|
139
|
|
140 struct SAFEARRAYUNION {
|
|
141 ULONG sfType;
|
|
142 union _u {
|
|
143 SAFEARR_BSTR BstrStr;
|
|
144 SAFEARR_UNKNOWN UnknownStr;
|
|
145 SAFEARR_DISPATCH DispatchStr;
|
|
146 SAFEARR_VARIANT VariantStr;
|
|
147 SAFEARR_BRECORD RecordStr;
|
|
148 SAFEARR_HAVEIID HaveIidStr;
|
|
149 BYTE_SIZEDARR ByteStr;
|
|
150 WORD_SIZEDARR WordStr;
|
|
151 DWORD_SIZEDARR LongStr;
|
|
152 HYPER_SIZEDARR HyperStr;
|
|
153 }
|
|
154 _u u;
|
|
155 }
|
|
156
|
|
157 struct _wireSAFEARRAY {
|
|
158 USHORT cDims;
|
|
159 USHORT fFeatures;
|
|
160 ULONG cbElements;
|
|
161 ULONG cLocks;
|
|
162 SAFEARRAYUNION uArrayStructs;
|
|
163 SAFEARRAYBOUND rgsabound[1];
|
|
164 }
|
|
165 alias _wireSAFEARRAY* wireSAFEARRAY;
|
|
166
|
|
167 alias wireSAFEARRAY* wirePSAFEARRAY;
|
|
168
|
|
169 struct SAFEARRAY {
|
|
170 USHORT cDims;
|
|
171 USHORT fFeatures;
|
|
172 ULONG cbElements;
|
|
173 ULONG cLocks;
|
|
174 PVOID pvData;
|
|
175 SAFEARRAYBOUND rgsabound[1];
|
|
176 }
|
|
177 alias SAFEARRAY* LPSAFEARRAY;
|
|
178
|
|
179 struct VARIANT {
|
|
180 union {
|
|
181 struct {
|
|
182 VARTYPE vt;
|
|
183 WORD wReserved1;
|
|
184 WORD wReserved2;
|
|
185 WORD wReserved3;
|
|
186 union {
|
|
187 int lVal;
|
|
188 LONGLONG llVal;
|
|
189 ubyte bVal;
|
|
190 short iVal;
|
|
191 float fltVal;
|
|
192 double dblVal;
|
|
193 VARIANT_BOOL boolVal;
|
|
194 SCODE scode;
|
|
195 CY cyVal;
|
|
196 DATE date;
|
|
197 BSTR bstrVal;
|
|
198 IUnknown punkVal;
|
|
199 IDispatch pdispVal;
|
|
200 SAFEARRAY* parray;
|
|
201 ubyte* pbVal;
|
|
202 short* piVal;
|
|
203 int* plVal;
|
|
204 float* pfltVal;
|
|
205 double* pdblVal;
|
|
206 VARIANT_BOOL* pboolVal;
|
|
207 _VARIANT_BOOL* pbool;
|
|
208 SCODE* pscode;
|
|
209 CY* pcyVal;
|
|
210 DATE* pdate;
|
|
211 BSTR* pbstrVal;
|
|
212 IUnknown* ppunkVal;
|
|
213 IDispatch* ppdispVal;
|
|
214 SAFEARRAY** pparray;
|
|
215 VARIANT* pvarVal;
|
|
216 void* byref;
|
|
217 CHAR cVal;
|
|
218 USHORT uiVal;
|
|
219 ULONG ulVal;
|
|
220 ULONGLONG ullVal;
|
|
221 INT intVal;
|
|
222 UINT uintVal;
|
|
223 DECIMAL* pdecVal;
|
|
224 CHAR* pcVal;
|
|
225 USHORT* puiVal;
|
|
226 ULONG* pulVal;
|
|
227 INT* pintVal;
|
|
228 UINT* puintVal;
|
|
229 struct {
|
|
230 PVOID pvRecord;
|
|
231 IRecordInfo pRecInfo;
|
|
232 }
|
|
233 }
|
|
234 }
|
|
235 DECIMAL decVal;
|
|
236 }
|
|
237 }
|
|
238 alias VARIANT* LPVARIANT;
|
|
239
|
|
240 alias VARIANT VARIANTARG;
|
|
241 alias VARIANT* LPVARIANTARG;
|
|
242
|
|
243 struct _wireVARIANT {
|
|
244 DWORD clSize;
|
|
245 DWORD rpcReserved;
|
|
246 USHORT vt;
|
|
247 USHORT wReserved1;
|
|
248 USHORT wReserved2;
|
|
249 USHORT wReserved3;
|
|
250 union {
|
|
251 LONG lVal;
|
|
252 LONGLONG llVal;
|
|
253 BYTE bVal;
|
|
254 SHORT iVal;
|
|
255 FLOAT fltVal;
|
|
256 DOUBLE dblVal;
|
|
257 VARIANT_BOOL boolVal;
|
|
258 SCODE scode;
|
|
259 CY cyVal;
|
|
260 DATE date;
|
|
261 wireBSTR bstrVal;
|
|
262 IUnknown* punkVal;
|
|
263 LPDISPATCH pdispVal;
|
|
264 wirePSAFEARRAY parray;
|
|
265 wireBRECORD brecVal;
|
|
266 BYTE* pbVal;
|
|
267 SHORT* piVal;
|
|
268 LONG* plVal;
|
|
269 FLOAT* pfltVal;
|
|
270 DOUBLE* pdblVal;
|
|
271 VARIANT_BOOL* pboolVal;
|
|
272 SCODE* pscode;
|
|
273 CY* pcyVal;
|
|
274 DATE* pdate;
|
|
275 wireBSTR* pbstrVal;
|
|
276 IUnknown** ppunkVal;
|
|
277 LPDISPATCH* ppdispVal;
|
|
278 wirePSAFEARRAY* pparray;
|
|
279 wireVARIANT* pvarVal;
|
|
280 CHAR cVal;
|
|
281 USHORT uiVal;
|
|
282 ULONG ulVal;
|
|
283 ULONGLONG ullVal;
|
|
284 INT intVal;
|
|
285 UINT uintVal;
|
|
286 DECIMAL decVal;
|
|
287 DECIMAL* pdecVal;
|
|
288 CHAR* pcVal;
|
|
289 USHORT* puiVal;
|
|
290 ULONG* pulVal;
|
|
291 INT* pintVal;
|
|
292 UINT* puintVal;
|
|
293 }
|
|
294 }
|
|
295 alias _wireVARIANT* wireVARIANT;
|
|
296
|
|
297 alias LONG DISPID;
|
|
298 alias DISPID MEMBERID;
|
|
299 alias DWORD HREFTYPE;
|
|
300
|
|
301 enum TYPEKIND {
|
|
302 TKIND_ENUM, TKIND_RECORD, TKIND_MODULE, TKIND_INTERFACE, TKIND_DISPATCH,
|
|
303 TKIND_COCLASS, TKIND_ALIAS, TKIND_UNION, TKIND_MAX
|
|
304 }
|
|
305
|
|
306 struct TYPEDESC {
|
|
307 union {
|
|
308 TYPEDESC* lptdesc;
|
|
309 ARRAYDESC* lpadesc;
|
|
310 HREFTYPE hreftype;
|
|
311 }
|
|
312 VARTYPE vt;
|
|
313 }
|
|
314
|
|
315 struct ARRAYDESC {
|
|
316 TYPEDESC tdescElem;
|
|
317 USHORT cDims;
|
|
318 SAFEARRAYBOUND rgbounds[1];
|
|
319 }
|
|
320
|
|
321 struct PARAMDESCEX {
|
|
322 ULONG cBytes;
|
|
323 VARIANTARG varDefaultValue;
|
|
324 }
|
|
325 alias PARAMDESCEX* LPPARAMDESCEX;
|
|
326
|
|
327 struct PARAMDESC {
|
|
328 LPPARAMDESCEX pparamdescex;
|
|
329 USHORT wParamFlags;
|
|
330 }
|
|
331 alias PARAMDESC* LPPARAMDESC;
|
|
332
|
|
333 struct IDLDESC {
|
|
334 ULONG dwReserved;
|
|
335 USHORT wIDLFlags;
|
|
336 }
|
|
337 alias IDLDESC* LPIDLDESC;
|
|
338
|
|
339 struct ELEMDESC {
|
|
340 TYPEDESC tdesc;
|
|
341 union {
|
|
342 IDLDESC idldesc;
|
|
343 PARAMDESC paramdesc;
|
|
344 }
|
|
345 }
|
|
346 alias ELEMDESC* LPELEMDESC;
|
|
347
|
|
348 struct TYPEATTR {
|
|
349 GUID guid;
|
|
350 LCID lcid;
|
|
351 DWORD dwReserved;
|
|
352 MEMBERID memidConstructor;
|
|
353 MEMBERID memidDestructor;
|
|
354 LPOLESTR lpstrSchema;
|
|
355 ULONG cbSizeInstance;
|
|
356 TYPEKIND typekind;
|
|
357 WORD cFuncs;
|
|
358 WORD cVars;
|
|
359 WORD cImplTypes;
|
|
360 WORD cbSizeVft;
|
|
361 WORD cbAlignment;
|
|
362 WORD wTypeFlags;
|
|
363 WORD wMajorVerNum;
|
|
364 WORD wMinorVerNum;
|
|
365 TYPEDESC tdescAlias;
|
|
366 IDLDESC idldescType;
|
|
367 }
|
|
368 alias TYPEATTR* LPTYPEATTR;
|
|
369
|
|
370 struct DISPPARAMS {
|
|
371 VARIANTARG* rgvarg;
|
|
372 DISPID* rgdispidNamedArgs;
|
|
373 UINT cArgs;
|
|
374 UINT cNamedArgs;
|
|
375 }
|
|
376
|
|
377 struct EXCEPINFO {
|
|
378 WORD wCode;
|
|
379 WORD wReserved;
|
|
380 BSTR bstrSource;
|
|
381 BSTR bstrDescription;
|
|
382 BSTR bstrHelpFile;
|
|
383 DWORD dwHelpContext;
|
|
384 PVOID pvReserved;
|
|
385 extern (Windows) {
|
|
386 HRESULT function (EXCEPINFO* ) pfnDeferredFillIn;
|
|
387 }
|
|
388 SCODE scode;
|
|
389 }
|
|
390 alias EXCEPINFO* LPEXCEPINFO;
|
|
391
|
|
392 enum CALLCONV {
|
|
393 CC_FASTCALL,
|
|
394 CC_CDECL,
|
|
395 CC_MSCPASCAL,
|
|
396 CC_PASCAL=CC_MSCPASCAL,
|
|
397 CC_MACPASCAL,
|
|
398 CC_STDCALL,
|
|
399 CC_FPFASTCALL,
|
|
400 CC_SYSCALL,
|
|
401 CC_MPWCDECL,
|
|
402 CC_MPWPASCAL,
|
|
403 CC_MAX=CC_MPWPASCAL
|
|
404 }
|
|
405
|
|
406 enum FUNCKIND {
|
|
407 FUNC_VIRTUAL,
|
|
408 FUNC_PUREVIRTUAL,
|
|
409 FUNC_NONVIRTUAL,
|
|
410 FUNC_STATIC,
|
|
411 FUNC_DISPATCH
|
|
412 }
|
|
413
|
|
414 enum INVOKEKIND {
|
|
415 INVOKE_FUNC = 1,
|
|
416 INVOKE_PROPERTYGET = 2,
|
|
417 INVOKE_PROPERTYPUT = 4,
|
|
418 INVOKE_PROPERTYPUTREF = 8
|
|
419 }
|
|
420
|
|
421 struct FUNCDESC {
|
|
422 MEMBERID memid;
|
|
423 SCODE* lprgscode;
|
|
424 ELEMDESC* lprgelemdescParam;
|
|
425 FUNCKIND funckind;
|
|
426 INVOKEKIND invkind;
|
|
427 CALLCONV callconv;
|
|
428 SHORT cParams;
|
|
429 SHORT cParamsOpt;
|
|
430 SHORT oVft;
|
|
431 SHORT cScodes;
|
|
432 ELEMDESC elemdescFunc;
|
|
433 WORD wFuncFlags;
|
|
434 }
|
|
435 alias FUNCDESC* LPFUNCDESC;
|
|
436
|
|
437 enum VARKIND {
|
|
438 VAR_PERINSTANCE, VAR_STATIC, VAR_CONST, VAR_DISPATCH
|
|
439 }
|
|
440
|
|
441 struct VARDESC {
|
|
442 MEMBERID memid;
|
|
443 LPOLESTR lpstrSchema;
|
|
444 union {
|
|
445 ULONG oInst;
|
|
446 VARIANT* lpvarValue;
|
|
447 }
|
|
448 ELEMDESC elemdescVar;
|
|
449 WORD wVarFlags;
|
|
450 VARKIND varkind;
|
|
451 }
|
|
452 alias VARDESC* LPVARDESC;
|
|
453
|
|
454 enum TYPEFLAGS {
|
|
455 TYPEFLAG_FAPPOBJECT = 1,
|
|
456 TYPEFLAG_FCANCREATE = 2,
|
|
457 TYPEFLAG_FLICENSED = 4,
|
|
458 TYPEFLAG_FPREDECLID = 8,
|
|
459 TYPEFLAG_FHIDDEN = 16,
|
|
460 TYPEFLAG_FCONTROL = 32,
|
|
461 TYPEFLAG_FDUAL = 64,
|
|
462 TYPEFLAG_FNONEXTENSIBLE = 128,
|
|
463 TYPEFLAG_FOLEAUTOMATION = 256,
|
|
464 TYPEFLAG_FRESTRICTED = 512,
|
|
465 TYPEFLAG_FAGGREGATABLE = 1024,
|
|
466 TYPEFLAG_FREPLACEABLE = 2048,
|
|
467 TYPEFLAG_FDISPATCHABLE = 4096,
|
|
468 TYPEFLAG_FREVERSEBIND = 8192
|
|
469 }
|
|
470
|
|
471 enum FUNCFLAGS {
|
|
472 FUNCFLAG_FRESTRICTED = 1,
|
|
473 FUNCFLAG_FSOURCE = 2,
|
|
474 FUNCFLAG_FBINDABLE = 4,
|
|
475 FUNCFLAG_FREQUESTEDIT = 8,
|
|
476 FUNCFLAG_FDISPLAYBIND = 16,
|
|
477 FUNCFLAG_FDEFAULTBIND = 32,
|
|
478 FUNCFLAG_FHIDDEN = 64,
|
|
479 FUNCFLAG_FUSESGETLASTERROR = 128,
|
|
480 FUNCFLAG_FDEFAULTCOLLELEM = 256,
|
|
481 FUNCFLAG_FUIDEFAULT = 512,
|
|
482 FUNCFLAG_FNONBROWSABLE = 1024,
|
|
483 FUNCFLAG_FREPLACEABLE = 2048,
|
|
484 FUNCFLAG_FIMMEDIATEBIND = 4096
|
|
485 }
|
|
486
|
|
487 enum VARFLAGS {
|
|
488 VARFLAG_FREADONLY = 1,
|
|
489 VARFLAG_FSOURCE = 2,
|
|
490 VARFLAG_FBINDABLE = 4,
|
|
491 VARFLAG_FREQUESTEDIT = 8,
|
|
492 VARFLAG_FDISPLAYBIND = 16,
|
|
493 VARFLAG_FDEFAULTBIND = 32,
|
|
494 VARFLAG_FHIDDEN = 64,
|
|
495 VARFLAG_FRESTRICTED = 128,
|
|
496 VARFLAG_FDEFAULTCOLLELEM = 256,
|
|
497 VARFLAG_FUIDEFAULT = 512,
|
|
498 VARFLAG_FNONBROWSABLE = 1024,
|
|
499 VARFLAG_FREPLACEABLE = 2048,
|
|
500 VARFLAG_FIMMEDIATEBIND = 4096
|
|
501 }
|
|
502
|
|
503 struct CLEANLOCALSTORAGE {
|
|
504 IUnknown* pInterface;
|
|
505 PVOID pStorage;
|
|
506 DWORD flags;
|
|
507 }
|
|
508
|
|
509 struct CUSTDATAITEM {
|
|
510 GUID guid;
|
|
511 VARIANTARG varValue;
|
|
512 }
|
|
513 alias CUSTDATAITEM* LPCUSTDATAITEM;
|
|
514
|
|
515 struct CUSTDATA {
|
|
516 DWORD cCustData;
|
|
517 LPCUSTDATAITEM prgCustData;
|
|
518 }
|
|
519 alias CUSTDATA* LPCUSTDATA;
|
|
520
|
|
521 enum DESCKIND {
|
|
522 DESCKIND_NONE = 0,
|
|
523 DESCKIND_FUNCDESC = DESCKIND_NONE+1,
|
|
524 DESCKIND_VARDESC = DESCKIND_FUNCDESC+1,
|
|
525 DESCKIND_TYPECOMP = DESCKIND_VARDESC+1,
|
|
526 DESCKIND_IMPLICITAPPOBJ = DESCKIND_TYPECOMP+1,
|
|
527 DESCKIND_MAX = DESCKIND_IMPLICITAPPOBJ+1
|
|
528 }
|
|
529
|
|
530 union BINDPTR {
|
|
531 LPFUNCDESC lpfuncdesc;
|
|
532 LPVARDESC lpvardesc;
|
|
533 LPTYPECOMP lptcomp;
|
|
534 }
|
|
535 alias BINDPTR* LPBINDPTR;
|
|
536
|
|
537 interface IDispatch : public IUnknown {
|
|
538 HRESULT GetTypeInfoCount(UINT*);
|
|
539 HRESULT GetTypeInfo(UINT, LCID, LPTYPEINFO*);
|
|
540 HRESULT GetIDsOfNames(REFIID, LPOLESTR*, UINT, LCID, DISPID*);
|
|
541 HRESULT Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*);
|
|
542 }
|
|
543 alias IDispatch LPDISPATCH;
|
|
544
|
|
545 interface IEnumVARIANT : public IUnknown {
|
|
546 HRESULT Next(ULONG, VARIANT*, ULONG*);
|
|
547 HRESULT Skip(ULONG);
|
|
548 HRESULT Reset();
|
|
549 HRESULT Clone(IEnumVARIANT**);
|
|
550 }
|
|
551 alias IEnumVARIANT LPENUMVARIANT;
|
|
552
|
|
553 interface ITypeComp : public IUnknown {
|
|
554 HRESULT Bind(LPOLESTR, ULONG, WORD, LPTYPEINFO*, DESCKIND*, LPBINDPTR);
|
|
555 HRESULT BindType(LPOLESTR, ULONG, LPTYPEINFO*, LPTYPECOMP*);
|
|
556 }
|
|
557 alias ITypeComp LPTYPECOMP;
|
|
558
|
|
559 interface ITypeInfo : public IUnknown {
|
|
560 HRESULT GetTypeAttr(LPTYPEATTR*);
|
|
561 HRESULT GetTypeComp(LPTYPECOMP*);
|
|
562 HRESULT GetFuncDesc(UINT, LPFUNCDESC*);
|
|
563 HRESULT GetVarDesc(UINT, LPVARDESC*);
|
|
564 HRESULT GetNames(MEMBERID, BSTR*, UINT, UINT*);
|
|
565 HRESULT GetRefTypeOfImplType(UINT, HREFTYPE*);
|
|
566 HRESULT GetImplTypeFlags(UINT, INT*);
|
|
567 HRESULT GetIDsOfNames(LPOLESTR*, UINT, MEMBERID*);
|
|
568 HRESULT Invoke(PVOID, MEMBERID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*,
|
|
569 UINT*);
|
|
570 HRESULT GetDocumentation(MEMBERID, BSTR*, BSTR*, DWORD*, BSTR*);
|
|
571 HRESULT GetDllEntry(MEMBERID, INVOKEKIND, BSTR*, BSTR*, WORD*);
|
|
572 HRESULT GetRefTypeInfo(HREFTYPE, LPTYPEINFO*);
|
|
573 HRESULT AddressOfMember(MEMBERID, INVOKEKIND, PVOID*);
|
|
574 HRESULT CreateInstance(LPUNKNOWN, REFIID, PVOID*);
|
|
575 HRESULT GetMops(MEMBERID, BSTR*);
|
|
576 HRESULT GetContainingTypeLib(LPTYPELIB*, UINT*);
|
|
577 void ReleaseTypeAttr(LPTYPEATTR);
|
|
578 void ReleaseFuncDesc(LPFUNCDESC);
|
|
579 void ReleaseVarDesc(LPVARDESC);
|
|
580 }
|
|
581 alias ITypeInfo LPTYPEINFO;
|
|
582
|
|
583 interface ITypeInfo2 : public ITypeInfo {
|
|
584 HRESULT GetTypeKind(TYPEKIND*);
|
|
585 HRESULT GetTypeFlags(ULONG*);
|
|
586 HRESULT GetFuncIndexOfMemId(MEMBERID, INVOKEKIND, UINT*);
|
|
587 HRESULT GetVarIndexOfMemId(MEMBERID, UINT*);
|
|
588 HRESULT GetCustData(REFGUID, VARIANT*);
|
|
589 HRESULT GetFuncCustData(UINT, REFGUID, VARIANT*);
|
|
590 HRESULT GetParamCustData(UINT, UINT, REFGUID, VARIANT*);
|
|
591 HRESULT GetVarCustData(UINT, REFGUID, VARIANT*);
|
|
592 HRESULT GetImplTypeCustData(UINT, REFGUID, VARIANT*);
|
|
593 HRESULT GetDocumentation2(MEMBERID, LCID, BSTR*, DWORD*, BSTR*);
|
|
594 HRESULT GetAllCustData(CUSTDATA*);
|
|
595 HRESULT GetAllFuncCustData(UINT, CUSTDATA*);
|
|
596 HRESULT GetAllParamCustData(UINT, UINT, CUSTDATA*);
|
|
597 HRESULT GetAllVarCustData(UINT, CUSTDATA*);
|
|
598 HRESULT GetAllImplTypeCustData(UINT, CUSTDATA*);
|
|
599 }
|
|
600 alias ITypeInfo2 LPTYPEINFO2;
|
|
601
|
|
602 interface ITypeLib : public IUnknown {
|
|
603 UINT GetTypeInfoCount();
|
|
604 HRESULT GetTypeInfo(UINT, ITypeInfo**);
|
|
605 HRESULT GetTypeInfoType(UINT, TYPEKIND*);
|
|
606 HRESULT GetTypeInfoOfGuid(REFGUID, ITypeInfo**);
|
|
607 HRESULT GetLibAttr(TLIBATTR**);
|
|
608 HRESULT GetTypeComp(ITypeComp*);
|
|
609 HRESULT GetDocumentation(INT, BSTR*, BSTR*, DWORD*, BSTR*);
|
|
610 HRESULT IsName(LPOLESTR, ULONG, BOOL*);
|
|
611 HRESULT FindName(LPOLESTR, ULONG, ITypeInfo**, MEMBERID*, USHORT*);
|
|
612 void ReleaseTLibAttr(TLIBATTR*);
|
|
613 }
|
|
614 alias ITypeLib LPTYPELIB;
|
|
615
|
|
616 interface ITypeLib2 : public ITypeLib {
|
|
617 HRESULT GetCustData(REFGUID, VARIANT*);
|
|
618 HRESULT GetLibStatistics(ULONG*, ULONG*);
|
|
619 HRESULT GetDocumentation2(INT, LCID, BSTR*, DWORD*, BSTR*);
|
|
620 HRESULT GetAllCustData(CUSTDATA*);
|
|
621 }
|
|
622 alias ITypeLib2 LPTYPELIB2;
|
|
623
|
|
624 interface IErrorInfo : public IUnknown {
|
|
625 HRESULT GetGUID(GUID*);
|
|
626 HRESULT GetSource(BSTR*);
|
|
627 HRESULT GetDescription(BSTR*);
|
|
628 HRESULT GetHelpFile(BSTR*);
|
|
629 HRESULT GetHelpContext(DWORD*);
|
|
630 }
|
|
631 alias IErrorInfo LPERRORINFO;
|
|
632
|
|
633 interface ICreateErrorInfo : public IUnknown {
|
|
634 HRESULT SetGUID(REFGUID);
|
|
635 HRESULT SetSource(LPOLESTR);
|
|
636 HRESULT SetDescription(LPOLESTR);
|
|
637 HRESULT SetHelpFile(LPOLESTR);
|
|
638 HRESULT SetHelpContext(DWORD);
|
|
639 }
|
|
640 alias ICreateErrorInfo* LPCREATEERRORINFO;
|
|
641
|
|
642 interface ISupportErrorInfo : public IUnknown {
|
|
643 HRESULT InterfaceSupportsErrorInfo(REFIID);
|
|
644 }
|
|
645 alias ISupportErrorInfo LPSUPPORTERRORINFO;
|
|
646
|
|
647 interface IRecordInfo : public IUnknown {
|
|
648 HRESULT RecordInit(PVOID);
|
|
649 HRESULT RecordClear(PVOID);
|
|
650 HRESULT RecordCopy(PVOID, PVOID);
|
|
651 HRESULT GetGuid(GUID*);
|
|
652 HRESULT GetName(BSTR*);
|
|
653 HRESULT GetSize(ULONG*);
|
|
654 HRESULT GetTypeInfo(ITypeInfo**);
|
|
655 HRESULT GetField(PVOID, LPCOLESTR, VARIANT*);
|
|
656 HRESULT GetFieldNoCopy(PVOID, LPCOLESTR, VARIANT*, PVOID*);
|
|
657 HRESULT PutField (ULONG, PVOID, LPCOLESTR, VARIANT*);
|
|
658 HRESULT PutFieldNoCopy(ULONG, PVOID, LPCOLESTR, VARIANT*);
|
|
659 HRESULT GetFieldNames(ULONG*, BSTR*);
|
|
660 BOOL IsMatchingType();
|
|
661 PVOID RecordCreate();
|
|
662 HRESULT RecordCreateCopy(PVOID, PVOID*);
|
|
663 HRESULT RecordDestroy (PVOID);
|
|
664 }
|
|
665 alias IRecordInfo LPRECORDINFO;
|
|
666
|
|
667 interface ITypeMarshal : public IUnknown {
|
|
668 HRESULT Size(PVOID, DWORD, PVOID, ULONG*);
|
|
669 HRESULT Marshal(PVOID, DWORD, PVOID, ULONG, BYTE*, ULONG*);
|
|
670 HRESULT Unmarshal(PVOID, DWORD, ULONG, BYTE*, ULONG*);
|
|
671 HRESULT Free(PVOID);
|
|
672 }
|