source: Include/OAIdl.ab@ 35

Last change on this file since 35 was 35, checked in by イグトランス (egtra), 17 years ago

OLE Automation関数などの追加
KERNEL関数などの追加

File size: 48.2 KB
Line 
1' OAIdl.sbp
2' 本来はOAIdl.idlから生成するのが正当ですが、
3' これは手動で必要最低限のもののみ移植したものです。
4
5#ifndef _INC_OAIDL_AB
6#define _INC_OAIDL_AB
7
8' verify that the <rpcndr.h> version is high enough to compile this file*/
9'/*
10'#ifndef __REQUIRED_RPCNDR_H_VERSION__
11'#define __REQUIRED_RPCNDR_H_VERSION__ 475
12'#endif
13'
14'#include "rpc.h"
15'#include "rpcndr.h"
16'
17'#ifndef __RPCNDR_H_VERSION__
18'#error this stub requires an updated version of <rpcndr.h>
19'#endif // __RPCNDR_H_VERSION__
20'
21'#ifndef COM_NO_WINDOWS_H
22'#include "windows.h"
23'#include "ole2.h"
24'#endif /*COM_NO_WINDOWS_H*/
25
26#include <ole2.ab>
27'/* header files for imported files */
28'#include "objidl.h"
29
30#ifndef __IOleAutomationTypes_INTERFACE_DEFINED__
31#define __IOleAutomationTypes_INTERFACE_DEFINED__
32
33TypeDef VARTYPE = Word ' WTypes.ab
34TypeDef VARIANT_BOOL = Integer ' WTypes.ab
35Const VARIANT_TRUE = (-1 As VARIANT_BOOL) ' WTypes.ab
36Const VARIANT_FALSE = (0 As VARIANT_BOOL) ' WTypes.ab
37TypeDef SCODE = Long
38Class CY ' WTypes.ab
39Public
40 int64 As Int64
41
42 Function Lo() As DWord
43 Return GetDWord(VarPtr(int64))
44 End Function
45
46 Sub Lo(lo As DWord)
47 SetDWord(VarPtr(int64), lo)
48 End Sub
49
50 Function Hi() As Long
51 Return GetDWord(VarPtr(int64) + SizeOf (DWord)) As Long
52 End Function
53
54 Sub Lo(lo As Long)
55 SetDWord(VarPtr(int64) + SizeOf (DWord, lo As DWord))
56 End Sub
57End Class
58
59Class DECIMAL ' WTypes.ab
60Public
61 wReserved As Word
62 signscale As Word
63 Hi32 As DWord
64 Lo64 As QWord
65
66 Function scale() As Byte
67 Return GetByte(VarPtr(signscale))
68 End Function
69
70 Sub scale(s As Byte)
71 SetByte(VarPtr(signscale), s)
72 End Sub
73
74 Function sign() As Byte
75 Return GetByte(VarPtr(signscale) + SizeOf (Byte))
76 End Function
77
78 Sub sign(s As Byte)
79 SetByte(VarPtr(signscale) + SizeOf (Byte), s)
80 End Sub
81
82 Function Lo32() As DWord
83 Return GetDWord(VarPtr(Lo64) As *DWord)
84 End Function
85
86 Sub Lo32(l As DWord)
87 SetDWord(VarPtr(Lo64) As *DWord, l)
88 End Sub
89
90
91 Function Mid32() As DWord
92 Return GetDWord(VarPtr(Lo64) As *DWord)
93 End Function
94
95 Sub Mid32(m As DWord)
96 SetDWord(VarPtr(Lo64) As *DWord + SizeOf (DWord), m)
97 End Sub
98End Class
99
100TypeDef DATE = Double ' WTypes.ab
101
102Interface IRecordInfo
103 Inherits IUnknown
104End Interface
105
106
107/* interface IOleAutomationTypes */
108/* [auto_handle][unique][version] */
109
110TypeDef CURRENCY = CY
111
112Type SAFEARRAYBOUND
113 cElements As DWord
114 lLbound As Long
115End Type
116
117Typedef LPSAFEARRAYBOUND = *SAFEARRAYBOUND
118
119Typedef wireVARIANT = VoidPtr '/* [unique] */ *_wireVARIANT
120
121Typedef wireBRECORD = VoidPtr '/* [unique] */ *_wireBRECORD
122
123' Type SAFEARR_BSTR;
124' Type SAFEARR_UNKNOWN;
125' Type SAFEARR_DISPATCH;
126' Type SAFEARR_VARIANT;
127' Type SAFEARR_BRECORD;
128' Type SAFEARR_HAVEIID;
129
130/* [v1_enum] */
131/*
132Const Enum SF_TYPE
133 SF_ERROR = VT_ERROR
134 SF_I1 = VT_I1
135 SF_I2 = VT_I2
136 SF_I4 = VT_I4
137 SF_I8 = VT_I8
138 SF_BSTR = VT_BSTR
139 SF_UNKNOWN = VT_UNKNOWN
140 SF_DISPATCH = VT_DISPATCH
141 SF_VARIANT = VT_VARIANT
142 SF_RECORD = VT_RECORD
143 SF_HAVEIID = VT_UNKNOWN Or VT_RESERVED
144End Enum
145*/
146' Type SAFEARRAYUNION
147
148' Type /* [unique] */ wireSAFEARRAY
149
150TypeDef wirePSAFEARRAY = VoidPtr '/* [unique] */ *wireSAFEARRAY
151
152Type SAFEARRAY
153 cDims As Word
154 fFeatures As Word
155 cbElements As DWord
156 cLocks As DWord
157 pvData As VoidPtr
158 rgsabound[ELM(1)] As SAFEARRAYBOUND
159End Type
160
161TypeDef LPSAFEARRAY = /* [wire_marshal] */ *SAFEARRAY
162
163Const FADF_AUTO = &h1
164Const FADF_STATIC = &h2
165Const FADF_EMBEDDED = &h4
166Const FADF_FIXEDSIZE = &h10
167Const FADF_RECORD = &h20
168Const FADF_HAVEIID = &h40
169Const FADF_HAVEVARTYPE = &h80
170Const FADF_BSTR = &h100
171Const FADF_UNKNOWN = &h200
172Const FADF_DISPATCH = &h400
173Const FADF_VARIANT = &h800
174Const FADF_RESERVED = &hf008
175
176Class VARIANT
177Public
178 vt As VARTYPE
179 wReserved1 As Word
180 wReserved2 As Word
181 wReserved3 As Word
182 val As QWord
183
184 Function llVal() As Int64
185 Return val As Int64
186 End Function
187
188 Sub llVal(v As Int64)
189 val = v As QWord
190 End Sub
191
192 Function lVal() As Long
193 Return val As DWord As Long
194 End Function
195
196 Sub lVal(v As Long)
197 val = v As DWord
198 End Sub
199
200 Function bVal() As Byte
201 Return val As Byte
202 End Function
203
204 Sub bVal(v As Byte)
205 val = v
206 End Sub
207
208 Function iVal() As Integer
209 Return val As Word As Integer
210 End Function
211
212 Sub iVal(v As Integer)
213 val = v As Word
214 End Sub
215
216 Function fltVal() As Single
217 Return GetSingle(VarPtr(val) As *Single)
218 End Function
219
220 Sub fltVal(v As Single)
221 SetSingle(VarPtr(val) As *Single, v)
222 End Sub
223
224 Function dblVal() As Double
225 Return GetDouble(VarPtr(val) As *Double)
226 End Function
227
228 Sub dblVal(v As Double)
229 SetDouble(VarPtr(val) As *Double, v)
230 End Sub
231
232 ' SizeOf (VARIANT_BOOL) = 2
233 Function boolVal() As VARIANT_BOOL
234 Return val As Word As VARIANT_BOOL
235 End Function
236
237 Sub boolVal(v As VARIANT_BOOL)
238 val = v As Word
239 End Sub
240
241 ' SizeOf (SCODE) = 4
242 Function scode() As SCODE
243 Return val As DWord As SCODE
244 End Function
245
246 Sub scode(v As SCODE)
247 val = v As DWord
248 End Sub
249
250 ' SizeOf (CY) = 8
251 Function cyVal() As CY
252 SetQWord(VarPtr(cyVal), val)
253 End Function
254
255 Sub cyVal(v As CY)
256 SetQWord(VarPtr(val), GetQWord(VarPtr(v)))
257 End Sub
258
259 ' SizeOf (DATE) = 8
260 Function date() As DATE
261 SetQWord(VarPtr(date), val)
262 End Function
263
264 Sub date(v As DATE)
265 SetQWord(VarPtr(val), GetQWord(VarPtr(v)))
266 End Sub
267
268 Function bstrVal() As BSTR
269 Return val As ULONG_PTR As BSTR
270 End Function
271
272 Sub bstrVal(v As BSTR)
273 val = v As ULONG_PTR
274 End Sub
275
276 Function punkVal() As *IUnknown
277 Return val As ULONG_PTR As *IUnknown
278 End Function
279
280 Sub punkVal(v As *IUnknown)
281 val = v As ULONG_PTR
282 End Sub
283
284 Function pdispVal() As *IDispatch
285 Return val As ULONG_PTR As *IDispatch
286 End Function
287
288 Sub pdispVal(v As *IDispatch)
289 val = v As ULONG_PTR
290 End Sub
291
292 Function parray() As *SAFEARRAY
293 Return val As ULONG_PTR As *SAFEARRAY
294 End Function
295
296 Sub parray(v As *SAFEARRAY)
297 val = v As ULONG_PTR
298 End Sub
299
300 Function pbVal() As *Byte
301 Return val As ULONG_PTR As *Byte
302 End Function
303
304 Sub pbVal(v As *Byte)
305 val = v As ULONG_PTR
306 End Sub
307
308 Function piVal() As *Integer
309 Return val As ULONG_PTR As *Integer
310 End Function
311
312 Sub piVal(v As *Integer)
313 val = v As ULONG_PTR
314 End Sub
315
316 Function plVal() As *Long
317 Return val As ULONG_PTR As *Long
318 End Function
319
320 Sub plVal(v As *Long)
321 val = v As ULONG_PTR
322 End Sub
323
324 Function pllVal() As *Int64
325 Return val As ULONG_PTR As *Int64
326 End Function
327
328 Sub pllVal(v As *Int64)
329 val = v As ULONG_PTR
330 End Sub
331
332 Function pfltVal() As *Single
333 Return val As ULONG_PTR As *Single
334 End Function
335
336 Sub pfltVal(v As *Single)
337 val = v As ULONG_PTR
338 End Sub
339
340 Function pdblVal() As *Double
341 Return val As ULONG_PTR As *Double
342 End Function
343
344 Sub pdblVal(v As *Double)
345 val = v As ULONG_PTR
346 End Sub
347
348 Function pboolVal() As *VARIANT_BOOL
349 Return val As ULONG_PTR As *VARIANT_BOOL
350 End Function
351
352 Sub pboolVal(v As *VARIANT_BOOL)
353 val = v As ULONG_PTR
354 End Sub
355
356 Function pscode() As *SCODE
357 Return val As ULONG_PTR As *SCODE
358 End Function
359
360 Sub pscode(v As *SCODE)
361 val = v As ULONG_PTR
362 End Sub
363
364 Function pcyVal() As *CY
365 Return val As ULONG_PTR As *CY
366 End Function
367
368 Sub pcyVal(v As *CY)
369 val = v As ULONG_PTR
370 End Sub
371
372 Function pdate() As *DATE
373 Return val As ULONG_PTR As *DATE
374 End Function
375
376 Sub pdate(v As *DATE)
377 val = v As ULONG_PTR
378 End Sub
379
380 Function pbstrVal() As *BSTR
381 Return val As ULONG_PTR As *BSTR
382 End Function
383
384 Sub pbstrVal(v As *BSTR)
385 val = v As ULONG_PTR
386 End Sub
387
388 Function ppunkVal() As **IUnknown
389 Return val As ULONG_PTR As **IUnknown
390 End Function
391
392 Sub ppunkVal(v As **IUnknown)
393 val = v As ULONG_PTR
394 End Sub
395
396 Function ppdispVal() As **IDispatch
397 Return val As ULONG_PTR As **IDispatch
398 End Function
399
400 Sub ppdispVal(v As **IDispatch)
401 val = v As ULONG_PTR
402 End Sub
403
404 Function pparray() As **SAFEARRAY
405 Return val As ULONG_PTR As **SAFEARRAY
406 End Function
407
408 Sub pparray(v As **SAFEARRAY)
409 val = v As ULONG_PTR
410 End Sub
411
412 Function pvarVal() As *VARIANT
413 Return val As ULONG_PTR As *VARIANT
414 End Function
415
416 Sub pvarVal(v As *VARIANT)
417 val = v As ULONG_PTR
418 End Sub
419/*
420 Function byref() As VoidPtr
421 Return val As ULONG_PTR As VoidPtr
422 End Function
423
424 Sub byref(v As VoidPtr)
425 val = v As ULONG_PTR
426 End Sub
427*/
428 Function cVal() As Char
429 Return val As Byte As Char
430 End Function
431
432 Sub cVal(v As Char)
433 val = v As Byte
434 End Sub
435
436 Function uiVal() As Word
437 Return val As Word
438 End Function
439
440 Sub uiVal(v As Word)
441 val = v
442 End Sub
443
444 Function ulVal() As DWord
445 Return val As DWord
446 End Function
447
448 Sub ulVal(v As DWord)
449 val = v
450 End Sub
451
452 Function ullVal() As QWord
453 Return val
454 End Function
455
456 Sub ullVal(v As QWord)
457 val = v
458 End Sub
459
460 Function intVal() As Long
461 Return val As DWord As Long
462 End Function
463
464 Sub intVal(v As Long)
465 val = v As DWord
466 End Sub
467
468 Function uintVal() As DWord
469 Return val As DWord
470 End Function
471
472 Sub uintVal(v As DWord)
473 val = v
474 End Sub
475
476 Function pdecVal() As *DECIMAL
477 Return val As ULONG_PTR As *DECIMAL
478 End Function
479
480 Sub pdecVal(v As *DECIMAL)
481 val = v As ULONG_PTR
482 End Sub
483
484 Function pcVal() As *Char
485 Return val As ULONG_PTR As *Char
486 End Function
487
488 Sub pcVal(v As *Char)
489 val = v As ULONG_PTR
490 End Sub
491
492 Function puiVal() As *Word
493 Return val As ULONG_PTR As *Word
494 End Function
495
496 Sub puiVal(v As *Word)
497 val = v As ULONG_PTR
498 End Sub
499
500 Function pulVal() As *DWord
501 Return val As ULONG_PTR As *DWord
502 End Function
503
504 Sub pulVal(v As *DWord)
505 val = v As ULONG_PTR
506 End Sub
507
508 Function pullVal() As *QWord
509 Return val As ULONG_PTR As *QWord
510 End Function
511
512 Sub pullVal(v As *QWord)
513 val = v As ULONG_PTR
514 End Sub
515
516 Function pintVal() As *Long
517 Return val As ULONG_PTR As *Long
518 End Function
519
520 Sub pintVal(v As *Long)
521 val = v As ULONG_PTR
522 End Sub
523
524 Function puintVal() As *DWord
525 Return val As ULONG_PTR As *DWord
526 End Function
527
528 Sub puintVal(v As *DWord)
529 val = v As ULONG_PTR
530 End Sub
531
532 Function pvRecord() As VoidPtr
533 Return val As ULONG_PTR As VoidPtr
534 End Function
535
536 Sub pvRecord(v As VoidPtr)
537 val = v As ULONG_PTR
538 End Sub
539
540 Function pRecInfo() As *IRecordInfo
541 Return (val As ULONG_PTR + SizeOf (VoidPtr)) As *IRecordInfo
542 End Function
543
544 Sub pRecInfo(v As *IRecordInfo)
545 Set_LONG_PTR((VarPtr(val) As ULONG_PTR + SizeOf (VoidPtr)) As VoidPtr, v As LONG_PTR)
546 End Sub
547
548 Function decVal() As DECIMAL
549 Dim p As *DECIMAL
550 p = VarPtr(This) As *DECIMAL
551 Return p[0]
552 End Function
553
554 Sub decVal(v As DECIMAL)
555 Dim p As *DECIMAL
556 p = VarPtr(This) As *DECIMAL
557 p[0] = v
558 End Sub
559End Class
560
561TypeDef LPVARIANT = *VARIANT
562TypeDef VARIANTARG = VARIANT
563TypeDef LPVARIANTARG =* VARIANT
564
565' Type _wireBRECORD
566' Type _wireVARIANT
567
568TypeDef DISPID = Long
569
570TypeDef MEMBERID = DISPID
571
572TypeDef HREFTYPE = DWord
573
574/* [v1_enum] */
575Const Enum TYPEKIND
576 TKIND_ENUM ' = 0
577 TKIND_RECORD ' = TKIND_ENUM + 1
578 TKIND_MODULE ' = TKIND_RECORD + 1
579 TKIND_INTERFACE ' = TKIND_MODULE + 1
580 TKIND_DISPATCH ' = TKIND_INTERFACE + 1
581 TKIND_COCLASS ' = TKIND_DISPATCH + 1
582 TKIND_ALIAS ' = TKIND_COCLASS + 1
583 TKIND_UNION ' = TKIND_ALIAS + 1
584 TKIND_MAX ' = TKIND_UNION + 1
585End Enum
586
587Class TYPEDESC
588Private
589 p As VoidPtr
590' /* [switch_is][switch_type] */ Union
591' /* [case()] */ lptdesc As *TYPEDESC
592' /* [case()] */ lpadesc As *ARRAYDESC
593' /* [case()] */ hreftype As HREFTYPE
594' /* [default] */ /* Empty union arm */
595' End Union
596Public
597 vt As VARTYPE
598
599 Function lptdesc() As *TYPEDESC
600 Return p
601 End Function
602
603 Sub lptdesc(ptd As *TYPEDESC)
604 p = ptd
605 End Sub
606
607 Function lpadesc() As *ARRAYDESC
608 Return p
609 End Function
610
611 Sub lpadesc(pad As *ARRAYDESC)
612 p = pad
613 End Sub
614
615 Function hreftype() As *HREFTYPE
616 Return p
617 End Function
618
619 Sub hreftype(prd As *HREFTYPE)
620 p = prd
621 End Sub
622End Class
623
624Type ARRAYDESC
625 tdescElem As TYPEDESC
626 cDims As Word
627 /* [size_is] */ rgbounds[ELM(1)] As SAFEARRAYBOUND
628End Type
629
630Type PARAMDESCEX
631 cBytes As DWord
632 varDefaultValue As VARIANTARG
633End Type
634
635Typedef LPPARAMDESCEX = *PARAMDESCEX
636
637Type PARAMDESC
638 pparamdescex As LPPARAMDESCEX
639 USHORT wParamFlags As Word
640End Type
641
642TypeDef LPPARAMDESC = *PARAMDESC
643
644Const PARAMFLAG_NONE = 0
645Const PARAMFLAG_FIN = &h1
646Const PARAMFLAG_FOUT = &h2
647Const PARAMFLAG_FLCID = &h4
648Const PARAMFLAG_FRETVAL = &h8
649Const PARAMFLAG_FOPT = &h10
650Const PARAMFLAG_FHASDEFAULT = &h20
651Const PARAMFLAG_FHASCUSTDATA = &h40
652
653Type IDLDESC
654 dwReserved As ULONG_PTR
655 wIDLFlags As Word
656End Type
657
658TypeDef LPIDLDESC = *IDLDESC
659
660Const IDLFLAG_NONE = PARAMFLAG_NONE
661Const IDLFLAG_FIN = PARAMFLAG_FIN
662Const IDLFLAG_FOUT = PARAMFLAG_FOUT
663Const IDLFLAG_FLCID = PARAMFLAG_FLCID
664Const IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL
665
666Class ELEMDESC
667Public
668 tdesc As TYPEDESC
669 idldesc As IDLDESC
670
671 Function paramdesc() As PARAMDESC
672 Dim p As *PARAMDESC
673 p = VarPtr(idldesc) As *PARAMDESC
674 Return p[0]
675 End Function
676
677 Sub paramdesc(pd As PARAMDESC)
678 Dim p As *PARAMDESC
679 p = VarPtr(idldesc) As *PARAMDESC
680 p[0] = pd
681 End Sub
682End Class
683
684Type TYPEATTR
685 guid As GUID
686 lcid As LCID
687 dwReserved As DWord
688 memidConstructor As MEMBERID
689 memidDestructor As MEMBERID
690 lpstrSchema As LPOLESTR
691 cbSizeInstance As DWord
692 typekind As TYPEKIND
693 cFuncs As Word
694 cVars As Word
695 cImplTypes As Word
696 cbSizeVft As Word
697 cbAlignment As Word
698 wTypeFlags As Word
699 wMajorVerNum As Word
700 wMinorVerNum As Word
701 tdescAlias As TYPEDESC
702 idldescType As IDLDESC
703End Type
704
705TypeDef LPTYPEATTR = *TYPEATTR
706
707Type DISPPARAMS
708 /* [size_is] */ rgvarg As *VARIANTARG
709 /* [size_is] */ rgdispidNamedArgs As *DISPID
710 cArgs As DWord
711 cNamedArgs As DWord
712End Type
713
714Type EXCEPINFO
715 wCode As Word
716 wReserved As Word
717 bstrSource As BSTR
718 bstrDescription As BSTR
719 bstrHelpFile As BSTR
720 dwHelpContext As DWord
721 pvReserved As VoidPtr
722 pfnDeferredFillIn = *Function(p As *EXCEPINFO) As HRESULT
723 scode As SCODE
724End Type
725
726TypeDef LPEXCEPINFO = *EXCEPINFO
727
728/* [v1_enum] */
729Const Enum CALLCONV
730 CC_FASTCALL = 0
731 CC_CDECL = 1
732 CC_MSCPASCAL = CC_CDECL + 1
733 CC_PASCAL = CC_MSCPASCAL
734 CC_MACPASCAL = CC_PASCAL + 1
735 CC_STDCALL = CC_MACPASCAL + 1
736 CC_FPFASTCALL = CC_STDCALL + 1
737 CC_SYSCALL = CC_FPFASTCALL + 1
738 CC_MPWCDECL = CC_SYSCALL + 1
739 CC_MPWPASCAL = CC_MPWCDECL + 1
740 CC_MAX = CC_MPWPASCAL + 1
741End Enum
742
743/* [v1_enum] */
744Const Enum FUNCKIND
745 FUNC_VIRTUAL = 0
746 FUNC_PUREVIRTUAL = FUNC_VIRTUAL + 1
747 FUNC_NONVIRTUAL = FUNC_PUREVIRTUAL + 1
748 FUNC_STATIC = FUNC_NONVIRTUAL + 1
749 FUNC_DISPATCH = FUNC_STATIC + 1
750End Enum
751
752/* [v1_enum] */
753Const Enum INVOKEKIND
754 INVOKE_FUNC = 1
755 INVOKE_PROPERTYGET = 2
756 INVOKE_PROPERTYPUT = 4
757 INVOKE_PROPERTYPUTREF = 8
758End Enum
759
760Type FUNCDESC
761 memid As MEMBERID
762 /* [size_is] */ lprgscode As *SCODE
763 /* [size_is] */ lprgelemdescParam As *ELEMDESC
764 funckind As FUNCKIND
765 invkind As INVOKEKIND
766 callconv As CALLCONV
767 cParams As Integer
768 cParamsOpt As Integer
769 oVft As Integer
770 cScodes As Integer
771 elemdescFunc As ELEMDESC
772 wFuncFlags As Word
773End Type
774
775TypeDef LPFUNCDESC = *FUNCDESC
776
777/* [v1_enum] */
778Const Enum VARKIND
779 VAR_PERINSTANCE = 0
780 VAR_STATIC = VAR_PERINSTANCE + 1
781 VAR_CONST = VAR_STATIC + 1
782 VAR_DISPATCH = VAR_CONST + 1
783End Enum
784
785Const IMPLTYPEFLAG_FDEFAULT = &h1
786Const IMPLTYPEFLAG_FSOURCE = &h2
787Const IMPLTYPEFLAG_FRESTRICTED = &h4
788Const IMPLTYPEFLAG_FDEFAULTVTABLE = &h8
789
790Class VARDESC
791Public
792 memid As MEMBERID
793 lpstrSchema As LPOLESTR
794' /* [switch_is][switch_type] */ Union
795' /* [case()] */ oInst As DWord
796 /* [case()] */ lpvarValue As *VARIANT
797' End Union
798 elemdescVar As ELEMDESC
799 wVarFlags As Word
800 varkind As VARKIND
801
802 Function oInst() As DWord
803 Return lpvarValue As ULONG_PTR As DWord
804 End Function
805
806 Sub oInst(o As DWord)
807 lpvarValue = o As ULONG_PTR As *VARIANT
808 End Sub
809End Class
810
811TypeDef LPVARDESC = VARDESC
812
813Const Enum TYPEFLAGS
814 TYPEFLAG_FAPPOBJECT = &h1
815 TYPEFLAG_FCANCREATE = &h2
816 TYPEFLAG_FLICENSED = &h4
817 TYPEFLAG_FPREDECLID = &h8
818 TYPEFLAG_FHIDDEN = &h10
819 TYPEFLAG_FCONTROL = &h20
820 TYPEFLAG_FDUAL = &h40
821 TYPEFLAG_FNONEXTENSIBLE = &h80
822 TYPEFLAG_FOLEAUTOMATION = &h100
823 TYPEFLAG_FRESTRICTED = &h200
824 TYPEFLAG_FAGGREGATABLE = &h400
825 TYPEFLAG_FREPLACEABLE = &h800
826 TYPEFLAG_FDISPATCHABLE = &h1000
827 TYPEFLAG_FREVERSEBIND = &h2000
828 TYPEFLAG_FPROXY = &h4000
829End Enum
830
831Enum FUNCFLAGS
832 FUNCFLAG_FRESTRICTED = &h1
833 FUNCFLAG_FSOURCE = &h2
834 FUNCFLAG_FBINDABLE = &h4
835 FUNCFLAG_FREQUESTEDIT = &h8
836 FUNCFLAG_FDISPLAYBIND = &h10
837 FUNCFLAG_FDEFAULTBIND = &h20
838 FUNCFLAG_FHIDDEN = &h40
839 FUNCFLAG_FUSESGETLASTERROR = &h80
840 FUNCFLAG_FDEFAULTCOLLELEM = &h100
841 FUNCFLAG_FUIDEFAULT = &h200
842 FUNCFLAG_FNONBROWSABLE = &h400
843 FUNCFLAG_FREPLACEABLE = &h800
844 FUNCFLAG_FIMMEDIATEBIND = &h1000
845End Enum
846
847Const Enum VARFLAGS
848 VARFLAG_FREADONLY = &h1
849 VARFLAG_FSOURCE = &h2
850 VARFLAG_FBINDABLE = &h4
851 VARFLAG_FREQUESTEDIT = &h8
852 VARFLAG_FDISPLAYBIND = &h10
853 VARFLAG_FDEFAULTBIND = &h20
854 VARFLAG_FHIDDEN = &h40
855 VARFLAG_FRESTRICTED = &h80
856 VARFLAG_FDEFAULTCOLLELEM = &h100
857 VARFLAG_FUIDEFAULT = &h200
858 VARFLAG_FNONBROWSABLE = &h400
859 VARFLAG_FREPLACEABLE = &h800
860 VARFLAG_FIMMEDIATEBIND = &h1000
861End Enum
862
863Type /* [wire_marshal] */ CLEANLOCALSTORAGE
864 pInterface As *IUnknown
865 pStorage As VoidPtr
866 flags As DWord
867End Type
868
869Type CUSTDATAITEM
870 guid As GUID
871 varValue As VARIANTARG
872End Type
873
874TypeDef LPCUSTDATAITEM = *CUSTDATAITEM
875
876Type CUSTDATA
877 cCustData As DWord
878 /* [size_is] */ prgCustData As *CUSTDATAITEM
879End Type
880
881TypeDef LPCUSTDATA = *CUSTDATA
882
883#endif /* __IOleAutomationTypes_INTERFACE_DEFINED__ */
884
885#ifdef __UNDEFINED__
886
887#ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
888#define __ICreateTypeInfo_INTERFACE_DEFINED__
889
890/* interface ICreateTypeInfo */
891/* [local][unique][uuid][object] */
892
893'typedef /* [unique] */ ICreateTypeInfo *LPCREATETYPEINFO;
894
895
896EXTERN_C const IID IID_ICreateTypeInfo;
897
898 MIDL_INTERFACE("00020405-0000-0000-C000-000000000046")
899 ICreateTypeInfo : public IUnknown
900 {
901 public:
902 Function SetGuid(
903 /* [in] */ REFGUID guid) As HRESULT
904
905 Function SetTypeFlags(
906 /* [in] */ UINT uTypeFlags) As HRESULT
907
908 Function SetDocString(
909 /* [in] */ LPOLESTR pStrDoc) As HRESULT
910
911 Function SetHelpContext(
912 /* [in] */ DWORD dwHelpContext) As HRESULT
913
914 Function SetVersion(
915 /* [in] */ WORD wMajorVerNum,
916 /* [in] */ WORD wMinorVerNum) As HRESULT
917
918 Function AddRefTypeInfo(
919 /* [in] */ ITypeInfo *pTInfo,
920 /* [in] */ HREFTYPE *phRefType) As HRESULT
921
922 Function AddFuncDesc(
923 /* [in] */ UINT index,
924 /* [in] */ FUNCDESC *pFuncDesc) As HRESULT
925
926 Function AddImplType(
927 /* [in] */ UINT index,
928 /* [in] */ HREFTYPE hRefType) As HRESULT
929
930 Function SetImplTypeFlags(
931 /* [in] */ UINT index,
932 /* [in] */ INT implTypeFlags) As HRESULT
933
934 Function SetAlignment(
935 /* [in] */ WORD cbAlignment) As HRESULT
936
937 Function SetSchema(
938 /* [in] */ LPOLESTR pStrSchema) As HRESULT
939
940 Function AddVarDesc(
941 /* [in] */ UINT index,
942 /* [in] */ VARDESC *pVarDesc) As HRESULT
943
944 Function SetFuncAndParamNames(
945 /* [in] */ UINT index,
946 /* [in][size_is][in] */ LPOLESTR *rgszNames,
947 /* [in] */ UINT cNames) As HRESULT
948
949 Function SetVarName(
950 /* [in] */ UINT index,
951 /* [in] */ LPOLESTR szName) As HRESULT
952
953 Function SetTypeDescAlias(
954 /* [in] */ TYPEDESC *pTDescAlias) As HRESULT
955
956 Function DefineFuncAsDllEntry(
957 /* [in] */ UINT index,
958 /* [in] */ LPOLESTR szDllName,
959 /* [in] */ LPOLESTR szProcName) As HRESULT
960
961 Function SetFuncDocString(
962 /* [in] */ UINT index,
963 /* [in] */ LPOLESTR szDocString) As HRESULT
964
965 Function SetVarDocString(
966 /* [in] */ UINT index,
967 /* [in] */ LPOLESTR szDocString) As HRESULT
968
969 Function SetFuncHelpContext(
970 /* [in] */ UINT index,
971 /* [in] */ DWORD dwHelpContext) As HRESULT
972
973 Function SetVarHelpContext(
974 /* [in] */ UINT index,
975 /* [in] */ DWORD dwHelpContext) As HRESULT
976
977 Function SetMops(
978 /* [in] */ UINT index,
979 /* [in] */ BSTR bstrMops) As HRESULT
980
981 Function SetTypeIdldesc(
982 /* [in] */ IDLDESC *pIdlDesc) As HRESULT
983
984 Function LayOut( void) As HRESULT
985
986 };
987
988#endif /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
989
990
991#ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__
992#define __ICreateTypeInfo2_INTERFACE_DEFINED__
993
994/* interface ICreateTypeInfo2 */
995/* [local][unique][uuid][object] */
996
997'typedef /* [unique] */ ICreateTypeInfo2 *LPCREATETYPEINFO2;
998
999
1000EXTERN_C const IID IID_ICreateTypeInfo2;
1001
1002 MIDL_INTERFACE("0002040E-0000-0000-C000-000000000046")
1003 ICreateTypeInfo2 : public ICreateTypeInfo
1004 {
1005 public:
1006 Function DeleteFuncDesc(
1007 /* [in] */ UINT index) As HRESULT
1008
1009 Function DeleteFuncDescByMemId(
1010 /* [in] */ MEMBERID memid,
1011 /* [in] */ INVOKEKIND invKind) As HRESULT
1012
1013 Function DeleteVarDesc(
1014 /* [in] */ UINT index) As HRESULT
1015
1016 Function DeleteVarDescByMemId(
1017 /* [in] */ MEMBERID memid) As HRESULT
1018
1019 Function DeleteImplType(
1020 /* [in] */ UINT index) As HRESULT
1021
1022 Function SetCustData(
1023 /* [in] */ REFGUID guid,
1024 /* [in] */ VARIANT *pVarVal) As HRESULT
1025
1026 Function SetFuncCustData(
1027 /* [in] */ UINT index,
1028 /* [in] */ REFGUID guid,
1029 /* [in] */ VARIANT *pVarVal) As HRESULT
1030
1031 Function SetParamCustData(
1032 /* [in] */ UINT indexFunc,
1033 /* [in] */ UINT indexParam,
1034 /* [in] */ REFGUID guid,
1035 /* [in] */ VARIANT *pVarVal) As HRESULT
1036
1037 Function SetVarCustData(
1038 /* [in] */ UINT index,
1039 /* [in] */ REFGUID guid,
1040 /* [in] */ VARIANT *pVarVal) As HRESULT
1041
1042 Function SetImplTypeCustData(
1043 /* [in] */ UINT index,
1044 /* [in] */ REFGUID guid,
1045 /* [in] */ VARIANT *pVarVal) As HRESULT
1046
1047 Function SetHelpStringContext(
1048 /* [in] */ ULONG dwHelpStringContext) As HRESULT
1049
1050 Function SetFuncHelpStringContext(
1051 /* [in] */ UINT index,
1052 /* [in] */ ULONG dwHelpStringContext) As HRESULT
1053
1054 Function SetVarHelpStringContext(
1055 /* [in] */ UINT index,
1056 /* [in] */ ULONG dwHelpStringContext) As HRESULT
1057
1058 Function Invalidate( void) As HRESULT
1059
1060 Function SetName(
1061 /* [in] */ LPOLESTR szName) As HRESULT
1062
1063 };
1064
1065
1066
1067#endif /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */
1068
1069
1070#ifndef __ICreateTypeLib_INTERFACE_DEFINED__
1071#define __ICreateTypeLib_INTERFACE_DEFINED__
1072
1073/* interface ICreateTypeLib */
1074/* [local][unique][uuid][object] */
1075
1076'typedef /* [unique] */ ICreateTypeLib *LPCREATETYPELIB;
1077
1078
1079EXTERN_C const IID IID_ICreateTypeLib;
1080
1081 MIDL_INTERFACE("00020406-0000-0000-C000-000000000046")
1082 ICreateTypeLib : public IUnknown
1083 {
1084 public:
1085 Function CreateTypeInfo(
1086 /* [in] */ LPOLESTR szName,
1087 /* [in] */ TYPEKIND tkind,
1088 /* [out] */ ICreateTypeInfo **ppCTInfo) As HRESULT
1089
1090 Function SetName(
1091 /* [in] */ LPOLESTR szName) As HRESULT
1092
1093 Function SetVersion(
1094 /* [in] */ WORD wMajorVerNum,
1095 /* [in] */ WORD wMinorVerNum) As HRESULT
1096
1097 Function SetGuid(
1098 /* [in] */ REFGUID guid) As HRESULT
1099
1100 Function SetDocString(
1101 /* [in] */ LPOLESTR szDoc) As HRESULT
1102
1103 Function SetHelpFileName(
1104 /* [in] */ LPOLESTR szHelpFileName) As HRESULT
1105
1106 Function SetHelpContext(
1107 /* [in] */ DWORD dwHelpContext) As HRESULT
1108
1109 Function SetLcid(
1110 /* [in] */ LCID lcid) As HRESULT
1111
1112 Function SetLibFlags(
1113 /* [in] */ UINT uLibFlags) As HRESULT
1114
1115 Function SaveAllChanges( void) As HRESULT
1116
1117 };
1118
1119
1120#endif /* __ICreateTypeLib_INTERFACE_DEFINED__ */
1121
1122
1123#ifndef __ICreateTypeLib2_INTERFACE_DEFINED__
1124#define __ICreateTypeLib2_INTERFACE_DEFINED__
1125
1126/* interface ICreateTypeLib2 */
1127/* [local][unique][uuid][object] */
1128
1129typedef /* [unique] */ ICreateTypeLib2 *LPCREATETYPELIB2;
1130
1131
1132EXTERN_C const IID IID_ICreateTypeLib2;
1133
1134 MIDL_INTERFACE("0002040F-0000-0000-C000-000000000046")
1135 ICreateTypeLib2 : public ICreateTypeLib
1136 {
1137 public:
1138 Function DeleteTypeInfo(
1139 /* [in] */ LPOLESTR szName) As HRESULT
1140
1141 Function SetCustData(
1142 /* [in] */ REFGUID guid,
1143 /* [in] */ VARIANT *pVarVal) As HRESULT
1144
1145 Function SetHelpStringContext(
1146 /* [in] */ ULONG dwHelpStringContext) As HRESULT
1147
1148 Function SetHelpStringDll(
1149 /* [in] */ LPOLESTR szFileName) As HRESULT
1150
1151 };
1152
1153
1154#endif /* __ICreateTypeLib2_INTERFACE_DEFINED__ */
1155
1156#endif '__UNDECLARED__
1157
1158#ifndef __IDispatch_INTERFACE_DEFINED__
1159#define __IDispatch_INTERFACE_DEFINED__
1160
1161/* interface IDispatch */
1162/* [unique][uuid][object] */
1163
1164Typedef LPDISPATCH = /* [unique] */ *IDispatch
1165
1166Const DISPID_UNKNOWN = -1
1167Const DISPID_VALUE = 0
1168Const DISPID_PROPERTYPUT = -3
1169Const DISPID_NEWENUM = -4
1170Const DISPID_EVALUATE = -5
1171Const DISPID_CONSTRUCTOR = -6
1172Const DISPID_DESTRUCTOR = -7
1173Const DISPID_COLLECT = -8
1174
1175/* The range -500 through -999 is reserved for Controls */
1176/* The range 0x80010000 through 0x8001FFFF is reserved for Controls */
1177/* The range -5000 through -5499 is reserved for ActiveX Accessability */
1178/* The range -2000 through -2499 is reserved for VB5 */
1179/* The range -3900 through -3999 is reserved for Forms */
1180/* The range -5500 through -5550 is reserved for Forms */
1181/* The remainder of the negative DISPIDs are reserved for future use */
1182
1183Dim IID_IDispatch = [&h00020400, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID
1184
1185Interface IDispatch
1186 Inherits IUnknown
1187
1188 Function GetTypeInfoCount(
1189 /* [out] */ ByRef pctinfo As DWord) As HRESULT
1190 Function GetTypeInfo(
1191 /* [in] */ iTInfo As DWord,
1192 /* [in] */ lcid As LCID,
1193 /* [out] */ ByRef pTInfo As VoidPtr /* *ITypeInfo */) As HRESULT
1194 Function GetIDsOfNames(
1195 /* [in] */ ByRef riid As IID,
1196 /* [size_is][in] */ ByRef rgszNames As LPOLESTR,
1197 /* [in] */ cNames As DWord,
1198 /* [in] */ lcid As LCID,
1199 /* [size_is][out] */ ByRef rgDispId As DISPID) As HRESULT
1200 Function /* [local] */ Invoke(
1201 /* [in] */ dispIdMember As DISPID,
1202 /* [in] */ ByRef riid As IID,
1203 /* [in] */ lcid As LCID,
1204 /* [in] */ wFlags As Word,
1205 /* [out][in] */ ByRef pDispParams As DISPPARAMS,
1206 /* [out] */ ByRef pVarResult As VARIANT,
1207 /* [out] */ ByRef pExcepInfo As EXCEPINFO,
1208 /* [out] */ ByRef puArgErr As DWord) As HRESULT
1209End Interface
1210
1211#endif /* __IDispatch_INTERFACE_DEFINED__ */
1212
1213#ifndef __IEnumVARIANT_INTERFACE_DEFINED__
1214#define __IEnumVARIANT_INTERFACE_DEFINED__
1215
1216/* interface IEnumVARIANT */
1217/* [unique][uuid][object] */
1218
1219Typedef /* [unique] */ LPENUMVARIANT = *IEnumVARIANT
1220
1221Dim IID_IEnumVARIANT = [&h00020404, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID
1222
1223Interface IEnumVARIANT
1224 Inherits IUnknown
1225
1226 /* [local] */ Function Next(
1227 /* [in] */ celt As DWord,
1228 /* [length_is][size_is][out] */ rgVar As *VARIANT,
1229 /* [out] */ pCeltFetched As *DWord) As HRESULT
1230 Function Skip(
1231 /* [in] */ celt As DWord) As HRESULT
1232 Function Reset() As HRESULT
1233 Function Clone(
1234 /* [out] */ ByRef pEnum As *IEnumVARIANT) As HRESULT
1235
1236End Interface
1237
1238#endif /* __IEnumVARIANT_INTERFACE_DEFINED__ */
1239
1240#ifdef __UNDECLARED__
1241
1242#ifndef __ITypeComp_INTERFACE_DEFINED__
1243#define __ITypeComp_INTERFACE_DEFINED__
1244
1245/* interface ITypeComp */
1246/* [unique][uuid][object] */
1247
1248typedef /* [unique] */ ITypeComp *LPTYPECOMP;
1249
1250typedef /* [v1_enum] */
1251enum tagDESCKIND
1252 { DESCKIND_NONE = 0,
1253 DESCKIND_FUNCDESC = DESCKIND_NONE + 1,
1254 DESCKIND_VARDESC = DESCKIND_FUNCDESC + 1,
1255 DESCKIND_TYPECOMP = DESCKIND_VARDESC + 1,
1256 DESCKIND_IMPLICITAPPOBJ = DESCKIND_TYPECOMP + 1,
1257 DESCKIND_MAX = DESCKIND_IMPLICITAPPOBJ + 1
1258 } DESCKIND;
1259
1260typedef union tagBINDPTR
1261 {
1262 FUNCDESC *lpfuncdesc;
1263 VARDESC *lpvardesc;
1264 ITypeComp *lptcomp;
1265 } BINDPTR;
1266
1267typedef union tagBINDPTR *LPBINDPTR;
1268
1269
1270EXTERN_C const IID IID_ITypeComp;
1271
1272 MIDL_INTERFACE("00020403-0000-0000-C000-000000000046")
1273 ITypeComp : public IUnknown
1274 {
1275 public:
1276 virtual /* [local] */ HRESULT STDMETHODCALLTYPE Bind(
1277 /* [in] */ LPOLESTR szName,
1278 /* [in] */ ULONG lHashVal,
1279 /* [in] */ WORD wFlags,
1280 /* [out] */ ITypeInfo **ppTInfo,
1281 /* [out] */ DESCKIND *pDescKind,
1282 /* [out] */ BINDPTR *pBindPtr) As HRESULT
1283
1284 virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindType(
1285 /* [in] */ LPOLESTR szName,
1286 /* [in] */ ULONG lHashVal,
1287 /* [out] */ ITypeInfo **ppTInfo,
1288 /* [out] */ ITypeComp **ppTComp) As HRESULT
1289
1290 };
1291
1292
1293#endif /* __ITypeComp_INTERFACE_DEFINED__ */
1294
1295
1296#ifndef __ITypeInfo_INTERFACE_DEFINED__
1297#define __ITypeInfo_INTERFACE_DEFINED__
1298
1299/* interface ITypeInfo */
1300/* [unique][uuid][object] */
1301
1302typedef /* [unique] */ ITypeInfo *LPTYPEINFO;
1303
1304
1305EXTERN_C const IID IID_ITypeInfo;
1306
1307 MIDL_INTERFACE("00020401-0000-0000-C000-000000000046")
1308 ITypeInfo : public IUnknown
1309 {
1310 public:
1311 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTypeAttr(
1312 /* [out] */ TYPEATTR **ppTypeAttr) As HRESULT
1313
1314 Function GetTypeComp(
1315 /* [out] */ ITypeComp **ppTComp) As HRESULT
1316
1317 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFuncDesc(
1318 /* [in] */ UINT index,
1319 /* [out] */ FUNCDESC **ppFuncDesc) As HRESULT
1320
1321 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetVarDesc(
1322 /* [in] */ UINT index,
1323 /* [out] */ VARDESC **ppVarDesc) As HRESULT
1324
1325 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetNames(
1326 /* [in] */ MEMBERID memid,
1327 /* [length_is][size_is][out] */ BSTR *rgBstrNames,
1328 /* [in] */ UINT cMaxNames,
1329 /* [out] */ UINT *pcNames) As HRESULT
1330
1331 Function GetRefTypeOfImplType(
1332 /* [in] */ UINT index,
1333 /* [out] */ HREFTYPE *pRefType) As HRESULT
1334
1335 Function GetImplTypeFlags(
1336 /* [in] */ UINT index,
1337 /* [out] */ INT *pImplTypeFlags) As HRESULT
1338
1339 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetIDsOfNames(
1340 /* [size_is][in] */ LPOLESTR *rgszNames,
1341 /* [in] */ UINT cNames,
1342 /* [size_is][out] */ MEMBERID *pMemId) As HRESULT
1343
1344 virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke(
1345 /* [in] */ PVOID pvInstance,
1346 /* [in] */ MEMBERID memid,
1347 /* [in] */ WORD wFlags,
1348 /* [out][in] */ DISPPARAMS *pDispParams,
1349 /* [out] */ VARIANT *pVarResult,
1350 /* [out] */ EXCEPINFO *pExcepInfo,
1351 /* [out] */ UINT *puArgErr) As HRESULT
1352
1353 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation(
1354 /* [in] */ MEMBERID memid,
1355 /* [out] */ BSTR *pBstrName,
1356 /* [out] */ BSTR *pBstrDocString,
1357 /* [out] */ DWORD *pdwHelpContext,
1358 /* [out] */ BSTR *pBstrHelpFile) As HRESULT
1359
1360 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDllEntry(
1361 /* [in] */ MEMBERID memid,
1362 /* [in] */ INVOKEKIND invKind,
1363 /* [out] */ BSTR *pBstrDllName,
1364 /* [out] */ BSTR *pBstrName,
1365 /* [out] */ WORD *pwOrdinal) As HRESULT
1366
1367 Function GetRefTypeInfo(
1368 /* [in] */ HREFTYPE hRefType,
1369 /* [out] */ ITypeInfo **ppTInfo) As HRESULT
1370
1371 virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddressOfMember(
1372 /* [in] */ MEMBERID memid,
1373 /* [in] */ INVOKEKIND invKind,
1374 /* [out] */ PVOID *ppv) As HRESULT
1375
1376 virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateInstance(
1377 /* [in] */ IUnknown *pUnkOuter,
1378 /* [in] */ REFIID riid,
1379 /* [iid_is][out] */ PVOID *ppvObj) As HRESULT
1380
1381 Function GetMops(
1382 /* [in] */ MEMBERID memid,
1383 /* [out] */ BSTR *pBstrMops) As HRESULT
1384
1385 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetContainingTypeLib(
1386 /* [out] */ ITypeLib **ppTLib,
1387 /* [out] */ UINT *pIndex) As HRESULT
1388
1389 virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTypeAttr(
1390 /* [in] */ TYPEATTR *pTypeAttr) As HRESULT
1391
1392 virtual /* [local] */ void STDMETHODCALLTYPE ReleaseFuncDesc(
1393 /* [in] */ FUNCDESC *pFuncDesc) As HRESULT
1394
1395 virtual /* [local] */ void STDMETHODCALLTYPE ReleaseVarDesc(
1396 /* [in] */ VARDESC *pVarDesc) As HRESULT
1397
1398 };
1399
1400#endif /* __ITypeInfo_INTERFACE_DEFINED__ */
1401
1402
1403#ifndef __ITypeInfo2_INTERFACE_DEFINED__
1404#define __ITypeInfo2_INTERFACE_DEFINED__
1405
1406/* interface ITypeInfo2 */
1407/* [unique][uuid][object] */
1408
1409typedef /* [unique] */ ITypeInfo2 *LPTYPEINFO2;
1410
1411
1412EXTERN_C const IID IID_ITypeInfo2;
1413
1414 MIDL_INTERFACE("00020412-0000-0000-C000-000000000046")
1415 ITypeInfo2 : public ITypeInfo
1416 {
1417 public:
1418 Function GetTypeKind(
1419 /* [out] */ TYPEKIND *pTypeKind) As HRESULT
1420
1421 Function GetTypeFlags(
1422 /* [out] */ ULONG *pTypeFlags) As HRESULT
1423
1424 Function GetFuncIndexOfMemId(
1425 /* [in] */ MEMBERID memid,
1426 /* [in] */ INVOKEKIND invKind,
1427 /* [out] */ UINT *pFuncIndex) As HRESULT
1428
1429 Function GetVarIndexOfMemId(
1430 /* [in] */ MEMBERID memid,
1431 /* [out] */ UINT *pVarIndex) As HRESULT
1432
1433 Function GetCustData(
1434 /* [in] */ REFGUID guid,
1435 /* [out] */ VARIANT *pVarVal) As HRESULT
1436
1437 Function GetFuncCustData(
1438 /* [in] */ UINT index,
1439 /* [in] */ REFGUID guid,
1440 /* [out] */ VARIANT *pVarVal) As HRESULT
1441
1442 Function GetParamCustData(
1443 /* [in] */ UINT indexFunc,
1444 /* [in] */ UINT indexParam,
1445 /* [in] */ REFGUID guid,
1446 /* [out] */ VARIANT *pVarVal) As HRESULT
1447
1448 Function GetVarCustData(
1449 /* [in] */ UINT index,
1450 /* [in] */ REFGUID guid,
1451 /* [out] */ VARIANT *pVarVal) As HRESULT
1452
1453 Function GetImplTypeCustData(
1454 /* [in] */ UINT index,
1455 /* [in] */ REFGUID guid,
1456 /* [out] */ VARIANT *pVarVal) As HRESULT
1457
1458 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2(
1459 /* [in] */ MEMBERID memid,
1460 /* [in] */ LCID lcid,
1461 /* [out] */ BSTR *pbstrHelpString,
1462 /* [out] */ DWORD *pdwHelpStringContext,
1463 /* [out] */ BSTR *pbstrHelpStringDll) As HRESULT
1464
1465 Function GetAllCustData(
1466 /* [out] */ CUSTDATA *pCustData) As HRESULT
1467
1468 Function GetAllFuncCustData(
1469 /* [in] */ UINT index,
1470 /* [out] */ CUSTDATA *pCustData) As HRESULT
1471
1472 Function GetAllParamCustData(
1473 /* [in] */ UINT indexFunc,
1474 /* [in] */ UINT indexParam,
1475 /* [out] */ CUSTDATA *pCustData) As HRESULT
1476
1477 Function GetAllVarCustData(
1478 /* [in] */ UINT index,
1479 /* [out] */ CUSTDATA *pCustData) As HRESULT
1480
1481 Function GetAllImplTypeCustData(
1482 /* [in] */ UINT index,
1483 /* [out] */ CUSTDATA *pCustData) As HRESULT
1484
1485 };
1486
1487
1488#endif /* __ITypeInfo2_INTERFACE_DEFINED__ */
1489
1490
1491#ifndef __ITypeLib_INTERFACE_DEFINED__
1492#define __ITypeLib_INTERFACE_DEFINED__
1493
1494/* interface ITypeLib */
1495/* [unique][uuid][object] */
1496
1497typedef /* [v1_enum] */
1498enum tagSYSKIND
1499 { SYS_WIN16 = 0,
1500 SYS_WIN32 = SYS_WIN16 + 1,
1501 SYS_MAC = SYS_WIN32 + 1,
1502 SYS_WIN64 = SYS_MAC + 1
1503 } SYSKIND;
1504
1505typedef /* [v1_enum] */
1506enum tagLIBFLAGS
1507 { LIBFLAG_FRESTRICTED = 0x1,
1508 LIBFLAG_FCONTROL = 0x2,
1509 LIBFLAG_FHIDDEN = 0x4,
1510 LIBFLAG_FHASDISKIMAGE = 0x8
1511 } LIBFLAGS;
1512
1513typedef /* [unique] */ ITypeLib *LPTYPELIB;
1514
1515typedef struct tagTLIBATTR
1516 {
1517 GUID guid;
1518 LCID lcid;
1519 SYSKIND syskind;
1520 WORD wMajorVerNum;
1521 WORD wMinorVerNum;
1522 WORD wLibFlags;
1523 } TLIBATTR;
1524
1525typedef struct tagTLIBATTR *LPTLIBATTR;
1526
1527
1528EXTERN_C const IID IID_ITypeLib;
1529
1530 MIDL_INTERFACE("00020402-0000-0000-C000-000000000046")
1531 ITypeLib : public IUnknown
1532 {
1533 public:
1534 virtual /* [local] */ UINT STDMETHODCALLTYPE GetTypeInfoCount( void) As HRESULT
1535
1536 Function GetTypeInfo(
1537 /* [in] */ UINT index,
1538 /* [out] */ ITypeInfo **ppTInfo) As HRESULT
1539
1540 Function GetTypeInfoType(
1541 /* [in] */ UINT index,
1542 /* [out] */ TYPEKIND *pTKind) As HRESULT
1543
1544 Function GetTypeInfoOfGuid(
1545 /* [in] */ REFGUID guid,
1546 /* [out] */ ITypeInfo **ppTinfo) As HRESULT
1547
1548 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLibAttr(
1549 /* [out] */ TLIBATTR **ppTLibAttr) As HRESULT
1550
1551 Function GetTypeComp(
1552 /* [out] */ ITypeComp **ppTComp) As HRESULT
1553
1554 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation(
1555 /* [in] */ INT index,
1556 /* [out] */ BSTR *pBstrName,
1557 /* [out] */ BSTR *pBstrDocString,
1558 /* [out] */ DWORD *pdwHelpContext,
1559 /* [out] */ BSTR *pBstrHelpFile) As HRESULT
1560
1561 virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsName(
1562 /* [out][in] */ LPOLESTR szNameBuf,
1563 /* [in] */ ULONG lHashVal,
1564 /* [out] */ BOOL *pfName) As HRESULT
1565
1566 virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindName(
1567 /* [out][in] */ LPOLESTR szNameBuf,
1568 /* [in] */ ULONG lHashVal,
1569 /* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
1570 /* [length_is][size_is][out] */ MEMBERID *rgMemId,
1571 /* [out][in] */ USHORT *pcFound) As HRESULT
1572
1573 virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTLibAttr(
1574 /* [in] */ TLIBATTR *pTLibAttr) As HRESULT
1575
1576 };
1577
1578#endif /* __ITypeLib_INTERFACE_DEFINED__ */
1579
1580
1581#ifndef __ITypeLib2_INTERFACE_DEFINED__
1582#define __ITypeLib2_INTERFACE_DEFINED__
1583
1584/* interface ITypeLib2 */
1585/* [unique][uuid][object] */
1586
1587typedef /* [unique] */ ITypeLib2 *LPTYPELIB2;
1588
1589
1590EXTERN_C const IID IID_ITypeLib2;
1591
1592 MIDL_INTERFACE("00020411-0000-0000-C000-000000000046")
1593 ITypeLib2 : public ITypeLib
1594 {
1595 public:
1596 Function GetCustData(
1597 /* [in] */ REFGUID guid,
1598 /* [out] */ VARIANT *pVarVal) As HRESULT
1599
1600 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLibStatistics(
1601 /* [out] */ ULONG *pcUniqueNames,
1602 /* [out] */ ULONG *pcchUniqueNames) As HRESULT
1603
1604 virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2(
1605 /* [in] */ INT index,
1606 /* [in] */ LCID lcid,
1607 /* [out] */ BSTR *pbstrHelpString,
1608 /* [out] */ DWORD *pdwHelpStringContext,
1609 /* [out] */ BSTR *pbstrHelpStringDll) As HRESULT
1610
1611 Function GetAllCustData(
1612 /* [out] */ CUSTDATA *pCustData) As HRESULT
1613
1614 };
1615
1616#endif /* __ITypeLib2_INTERFACE_DEFINED__ */
1617
1618
1619#ifndef __ITypeChangeEvents_INTERFACE_DEFINED__
1620#define __ITypeChangeEvents_INTERFACE_DEFINED__
1621
1622/* interface ITypeChangeEvents */
1623/* [local][unique][uuid][object] */
1624
1625typedef /* [unique] */ ITypeChangeEvents *LPTYPECHANGEEVENTS;
1626
1627typedef
1628enum tagCHANGEKIND
1629 { CHANGEKIND_ADDMEMBER = 0,
1630 CHANGEKIND_DELETEMEMBER = CHANGEKIND_ADDMEMBER + 1,
1631 CHANGEKIND_SETNAMES = CHANGEKIND_DELETEMEMBER + 1,
1632 CHANGEKIND_SETDOCUMENTATION = CHANGEKIND_SETNAMES + 1,
1633 CHANGEKIND_GENERAL = CHANGEKIND_SETDOCUMENTATION + 1,
1634 CHANGEKIND_INVALIDATE = CHANGEKIND_GENERAL + 1,
1635 CHANGEKIND_CHANGEFAILED = CHANGEKIND_INVALIDATE + 1,
1636 CHANGEKIND_MAX = CHANGEKIND_CHANGEFAILED + 1
1637 } CHANGEKIND;
1638
1639
1640EXTERN_C const IID IID_ITypeChangeEvents;
1641
1642 MIDL_INTERFACE("00020410-0000-0000-C000-000000000046")
1643 ITypeChangeEvents : public IUnknown
1644 {
1645 public:
1646 Function RequestTypeChange(
1647 /* [in] */ CHANGEKIND changeKind,
1648 /* [in] */ ITypeInfo *pTInfoBefore,
1649 /* [in] */ LPOLESTR pStrName,
1650 /* [out] */ INT *pfCancel) As HRESULT
1651
1652 Function AfterTypeChange(
1653 /* [in] */ CHANGEKIND changeKind,
1654 /* [in] */ ITypeInfo *pTInfoAfter,
1655 /* [in] */ LPOLESTR pStrName) As HRESULT
1656
1657 };
1658
1659#endif /* __ITypeChangeEvents_INTERFACE_DEFINED__ */
1660
1661
1662#ifndef __IErrorInfo_INTERFACE_DEFINED__
1663#define __IErrorInfo_INTERFACE_DEFINED__
1664
1665/* interface IErrorInfo */
1666/* [unique][uuid][object] */
1667
1668typedef /* [unique] */ IErrorInfo *LPERRORINFO;
1669
1670
1671EXTERN_C const IID IID_IErrorInfo;
1672
1673 MIDL_INTERFACE("1CF2B120-547D-101B-8E65-08002B2BD119")
1674 IErrorInfo : public IUnknown
1675 {
1676 public:
1677 Function GetGUID(
1678 /* [out] */ GUID *pGUID) As HRESULT
1679
1680 Function GetSource(
1681 /* [out] */ BSTR *pBstrSource) As HRESULT
1682
1683 Function GetDescription(
1684 /* [out] */ BSTR *pBstrDescription) As HRESULT
1685
1686 Function GetHelpFile(
1687 /* [out] */ BSTR *pBstrHelpFile) As HRESULT
1688
1689 Function GetHelpContext(
1690 /* [out] */ DWORD *pdwHelpContext) As HRESULT
1691
1692 };
1693
1694#endif /* __IErrorInfo_INTERFACE_DEFINED__ */
1695
1696
1697#ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
1698#define __ICreateErrorInfo_INTERFACE_DEFINED__
1699
1700/* interface ICreateErrorInfo */
1701/* [unique][uuid][object] */
1702
1703typedef /* [unique] */ ICreateErrorInfo *LPCREATEERRORINFO;
1704
1705
1706EXTERN_C const IID IID_ICreateErrorInfo;
1707
1708 MIDL_INTERFACE("22F03340-547D-101B-8E65-08002B2BD119")
1709 ICreateErrorInfo : public IUnknown
1710 {
1711 public:
1712 Function SetGUID(
1713 /* [in] */ REFGUID rguid) As HRESULT
1714
1715 Function SetSource(
1716 /* [in] */ LPOLESTR szSource) As HRESULT
1717
1718 Function SetDescription(
1719 /* [in] */ LPOLESTR szDescription) As HRESULT
1720
1721 Function SetHelpFile(
1722 /* [in] */ LPOLESTR szHelpFile) As HRESULT
1723
1724 Function SetHelpContext(
1725 /* [in] */ DWORD dwHelpContext) As HRESULT
1726
1727 };
1728
1729#endif /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
1730
1731
1732#ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
1733#define __ISupportErrorInfo_INTERFACE_DEFINED__
1734
1735/* interface ISupportErrorInfo */
1736/* [unique][uuid][object] */
1737
1738typedef /* [unique] */ ISupportErrorInfo *LPSUPPORTERRORINFO;
1739
1740
1741EXTERN_C const IID IID_ISupportErrorInfo;
1742
1743 MIDL_INTERFACE("DF0B3D60-548F-101B-8E65-08002B2BD119")
1744 ISupportErrorInfo : public IUnknown
1745 {
1746 public:
1747 Function InterfaceSupportsErrorInfo(
1748 /* [in] */ REFIID riid) As HRESULT
1749
1750 };
1751
1752#endif /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
1753
1754
1755#ifndef __ITypeFactory_INTERFACE_DEFINED__
1756#define __ITypeFactory_INTERFACE_DEFINED__
1757
1758/* interface ITypeFactory */
1759/* [uuid][object] */
1760
1761
1762EXTERN_C const IID IID_ITypeFactory;
1763
1764 MIDL_INTERFACE("0000002E-0000-0000-C000-000000000046")
1765 ITypeFactory : public IUnknown
1766 {
1767 public:
1768 Function CreateFromTypeInfo(
1769 /* [in] */ ITypeInfo *pTypeInfo,
1770 /* [in] */ REFIID riid,
1771 /* [iid_is][out] */ IUnknown **ppv) As HRESULT
1772
1773 };
1774
1775#endif /* __ITypeFactory_INTERFACE_DEFINED__ */
1776
1777
1778#ifndef __ITypeMarshal_INTERFACE_DEFINED__
1779#define __ITypeMarshal_INTERFACE_DEFINED__
1780
1781/* interface ITypeMarshal */
1782/* [uuid][object][local] */
1783
1784
1785EXTERN_C const IID IID_ITypeMarshal;
1786
1787 MIDL_INTERFACE("0000002D-0000-0000-C000-000000000046")
1788 ITypeMarshal : public IUnknown
1789 {
1790 public:
1791 Function Size(
1792 /* [in] */ PVOID pvType,
1793 /* [in] */ DWORD dwDestContext,
1794 /* [in] */ PVOID pvDestContext,
1795 /* [out] */ ULONG *pSize) As HRESULT
1796
1797 Function Marshal(
1798 /* [in] */ PVOID pvType,
1799 /* [in] */ DWORD dwDestContext,
1800 /* [in] */ PVOID pvDestContext,
1801 /* [in] */ ULONG cbBufferLength,
1802 /* [out] */ BYTE *pBuffer,
1803 /* [out] */ ULONG *pcbWritten) As HRESULT
1804
1805 Function Unmarshal(
1806 /* [out] */ PVOID pvType,
1807 /* [in] */ DWORD dwFlags,
1808 /* [in] */ ULONG cbBufferLength,
1809 /* [in] */ BYTE *pBuffer,
1810 /* [out] */ ULONG *pcbRead) As HRESULT
1811
1812 Function Free(
1813 /* [in] */ PVOID pvType) As HRESULT
1814
1815 };
1816
1817#endif /* __ITypeMarshal_INTERFACE_DEFINED__ */
1818
1819
1820#ifndef __IRecordInfo_INTERFACE_DEFINED__
1821#define __IRecordInfo_INTERFACE_DEFINED__
1822
1823/* interface IRecordInfo */
1824/* [uuid][object][local] */
1825
1826typedef /* [unique] */ IRecordInfo *LPRECORDINFO;
1827
1828
1829EXTERN_C const IID IID_IRecordInfo;
1830
1831 MIDL_INTERFACE("0000002F-0000-0000-C000-000000000046")
1832 IRecordInfo : public IUnknown
1833 {
1834 public:
1835 Function RecordInit(
1836 /* [out] */ PVOID pvNew) As HRESULT
1837
1838 Function RecordClear(
1839 /* [in] */ PVOID pvExisting) As HRESULT
1840
1841 Function RecordCopy(
1842 /* [in] */ PVOID pvExisting,
1843 /* [out] */ PVOID pvNew) As HRESULT
1844
1845 Function GetGuid(
1846 /* [out] */ GUID *pguid) As HRESULT
1847
1848 Function GetName(
1849 /* [out] */ BSTR *pbstrName) As HRESULT
1850
1851 Function GetSize(
1852 /* [out] */ ULONG *pcbSize) As HRESULT
1853
1854 Function GetTypeInfo(
1855 /* [out] */ ITypeInfo **ppTypeInfo) As HRESULT
1856
1857 Function GetField(
1858 /* [in] */ PVOID pvData,
1859 /* [in] */ LPCOLESTR szFieldName,
1860 /* [out] */ VARIANT *pvarField) As HRESULT
1861
1862 Function GetFieldNoCopy(
1863 /* [in] */ PVOID pvData,
1864 /* [in] */ LPCOLESTR szFieldName,
1865 /* [out] */ VARIANT *pvarField,
1866 /* [out] */ PVOID *ppvDataCArray) As HRESULT
1867
1868 Function PutField(
1869 /* [in] */ ULONG wFlags,
1870 /* [out][in] */ PVOID pvData,
1871 /* [in] */ LPCOLESTR szFieldName,
1872 /* [in] */ VARIANT *pvarField) As HRESULT
1873
1874 Function PutFieldNoCopy(
1875 /* [in] */ ULONG wFlags,
1876 /* [out][in] */ PVOID pvData,
1877 /* [in] */ LPCOLESTR szFieldName,
1878 /* [in] */ VARIANT *pvarField) As HRESULT
1879
1880 Function GetFieldNames(
1881 /* [out][in] */ ULONG *pcNames,
1882 /* [length_is][size_is][out] */ BSTR *rgBstrNames) As HRESULT
1883
1884 virtual BOOL STDMETHODCALLTYPE IsMatchingType(
1885 /* [in] */ IRecordInfo *pRecordInfo) As HRESULT
1886
1887 virtual PVOID STDMETHODCALLTYPE RecordCreate( void) As HRESULT
1888
1889 Function RecordCreateCopy(
1890 /* [in] */ PVOID pvSource,
1891 /* [out] */ PVOID *ppvDest) As HRESULT
1892
1893 Function RecordDestroy(
1894 /* [in] */ PVOID pvRecord) As HRESULT
1895
1896 };
1897
1898#endif /* __IRecordInfo_INTERFACE_DEFINED__ */
1899
1900
1901#ifndef __IErrorLog_INTERFACE_DEFINED__
1902#define __IErrorLog_INTERFACE_DEFINED__
1903
1904/* interface IErrorLog */
1905/* [unique][uuid][object] */
1906
1907typedef IErrorLog *LPERRORLOG;
1908
1909
1910EXTERN_C const IID IID_IErrorLog;
1911
1912 MIDL_INTERFACE("3127CA40-446E-11CE-8135-00AA004BB851")
1913 IErrorLog : public IUnknown
1914 {
1915 public:
1916 Function AddError(
1917 /* [in] */ LPCOLESTR pszPropName,
1918 /* [in] */ EXCEPINFO *pExcepInfo) As HRESULT
1919
1920 };
1921
1922#endif /* __IErrorLog_INTERFACE_DEFINED__ */
1923
1924
1925#ifndef __IPropertyBag_INTERFACE_DEFINED__
1926#define __IPropertyBag_INTERFACE_DEFINED__
1927
1928/* interface IPropertyBag */
1929/* [unique][uuid][object] */
1930
1931typedef IPropertyBag *LPPROPERTYBAG;
1932
1933
1934EXTERN_C const IID IID_IPropertyBag;
1935
1936 MIDL_INTERFACE("55272A00-42CB-11CE-8135-00AA004BB851")
1937 IPropertyBag : public IUnknown
1938 {
1939 public:
1940 virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read(
1941 /* [in] */ LPCOLESTR pszPropName,
1942 /* [out][in] */ VARIANT *pVar,
1943 /* [in] */ IErrorLog *pErrorLog) As HRESULT
1944
1945 Function Write(
1946 /* [in] */ LPCOLESTR pszPropName,
1947 /* [in] */ VARIANT *pVar) As HRESULT
1948
1949 };
1950#endif /* __IPropertyBag_INTERFACE_DEFINED__ */
1951
1952#endif ' __UNDEFINED__
1953
1954#endif '_INC_OAIDL_AB
Note: See TracBrowser for help on using the repository browser.