source: Include/OAIdl.ab@ 76

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

api_winerror.sbpとapi_winsock2.sbpとの間での定義の重複を除去など。

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