source: Include/OAIdl.ab@ 268

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

StringのResizeを呼ぶコンストラクタでメモリ確保されない場合を排除、ほか微修正

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