source: Include/OAIdl.ab@ 211

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

Decimalを追加、OAIdl.abの一応の完成など

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