source: trunk/Include/OAIdl.ab @ 435

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

フルコンパイルでのミスあぶり出し。註:修正は全て@300や@301以前に行われた。

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