source: Include/OAIdl.ab@ 87

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

Controlの追加とそれに伴う修正

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