source: Include/OAIdl.ab@ 175

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

レジストリAPIのコメントアウト解除ほか

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