source: Include/OAIdl.ab@ 192

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

Currencyを追加、その他修正

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