7 #define __VARIANT_NAME_1 n1
8 #define __VARIANT_NAME_2 n2
9 #define __VARIANT_NAME_3 n3
10 #define __VARIANT_NAME_4 n4
13 #define __VARIANT_NAME_1
14 #define __VARIANT_NAME_2
15 #define __VARIANT_NAME_3
16 #define __VARIANT_NAME_4
18 #define DISPID_UNKNOWN (-1)
19 #define DISPID_VALUE (0)
20 #define DISPID_PROPERTYPUT (-3)
21 #define DISPID_NEWENUM (-4)
22 #define DISPID_EVALUATE (-5)
23 #define DISPID_CONSTRUCTOR (-6)
24 #define DISPID_DESTRUCTOR (-7)
25 #define DISPID_COLLECT (-8)
27 #define FADF_STATIC (2)
28 #define FADF_EMBEDDED (4)
29 #define FADF_FIXEDSIZE (16)
30 #define FADF_BSTR (256)
31 #define FADF_UNKNOWN (512)
32 #define FADF_DISPATCH (1024)
33 #define FADF_VARIANT (2048)
34 #define FADF_RESERVED (0xf0e8)
35 #define PARAMFLAG_NONE (0)
36 #define PARAMFLAG_FIN (1)
37 #define PARAMFLAG_FOUT (2)
38 #define PARAMFLAG_FLCID (4)
39 #define PARAMFLAG_FRETVAL (8)
40 #define PARAMFLAG_FOPT (16)
41 #define PARAMFLAG_FHASDEFAULT (32)
42 #define IDLFLAG_NONE PARAMFLAG_NONE
43 #define IDLFLAG_FIN PARAMFLAG_FIN
44 #define IDLFLAG_FOUT PARAMFLAG_FOUT
45 #define IDLFLAG_FLCID PARAMFLAG_FLCID
46 #define IDLFLAG_FRETVAL PARAMFLAG_FRETVAL
47 #define IMPLTYPEFLAG_FDEFAULT 1
48 #define IMPLTYPEFLAG_FSOURCE 2
49 #define IMPLTYPEFLAG_FRESTRICTED 4
50 #define IMPLTYPEFLAG_FDEFAULTVTABLE 8
52 typedef interface ITypeLib
*LPTYPELIB
;
53 typedef interface ICreateTypeInfo
*LPCREATETYPEINFO
;
54 typedef interface ICreateTypeInfo2
*LPCREATETYPEINFO2
;
55 typedef interface ICreateTypeLib
*LPCREATETYPELIB
;
56 typedef interface ICreateTypeLib2
*LPCREATETYPELIB2
;
57 typedef interface ITypeComp
*LPTYPECOMP
;
58 typedef interface ITypeInfo
*LPTYPEINFO
;
59 typedef interface IErrorInfo
*LPERRORINFO
;
60 typedef interface IDispatch
*LPDISPATCH
;
61 typedef interface IEnumVARIANT
*LPENUMVARIANT
;
62 typedef interface ICreateErrorInfo
*LPCREATEERRORINFO
;
63 typedef interface ISupportErrorInfo
*LPSUPPORTERRORINFO
;
64 typedef interface IRecordInfo
*LPRECORDINFO
;
66 extern const IID IID_ITypeLib
;
67 extern const IID IID_ICreateTypeInfo
;
68 extern const IID IID_ICreateTypeInfo2
;
69 extern const IID IID_ICreateTypeLib
;
70 extern const IID IID_ICreateTypeLib2
;
71 extern const IID IID_ITypeInfo
;
72 extern const IID IID_IErrorInfo
;
73 extern const IID IID_IDispatch
;
74 extern const IID IID_IEnumVARIANT
;
75 extern const IID IID_ICreateErrorInfo
;
76 extern const IID IID_ISupportErrorInfo
;
77 extern const IID IID_IRecordInfo
;
79 typedef enum tagSYSKIND
{
80 SYS_WIN16
,SYS_WIN32
,SYS_MAC
82 typedef enum tagLIBFLAGS
{
83 LIBFLAG_FRESTRICTED
=1,LIBFLAG_FCONTROL
=2,LIBFLAG_FHIDDEN
=4,
84 LIBFLAG_FHASDISKIMAGE
=8
86 typedef struct tagTLIBATTR
{
93 } TLIBATTR
,*LPTLIBATTR
;
95 typedef struct tagSAFEARRAYBOUND
{
98 }SAFEARRAYBOUND
,*LPSAFEARRAYBOUND
;
99 typedef struct _wireSAFEARR_BSTR
104 typedef struct _wireSAFEARR_UNKNOWN
{
106 IUnknown
**apUnknown
;
108 typedef struct _wireSAFEARR_DISPATCH
{
110 LPDISPATCH
*apDispatch
;
112 typedef struct _wireSAFEARR_VARIANT
{
114 struct _wireVARIANT
*aVariant
;
116 typedef enum tagSF_TYPE
{
123 SF_UNKNOWN
=VT_UNKNOWN
,
124 SF_DISPATCH
=VT_DISPATCH
,
125 SF_VARIANT
=VT_VARIANT
127 typedef struct _wireBRECORD
{
130 LPRECORDINFO
* pRecInfo
;
133 typedef struct _wireSAFEARR_BRECORD
{
135 wireBRECORD
* aRecord
;
137 typedef struct _wireSAFEARR_HAVEIID
{
139 IUnknown
** apUnknown
;
142 typedef struct _wireSAFEARRAY_UNION
{
145 SAFEARR_BSTR BstrStr
;
146 SAFEARR_UNKNOWN UnknownStr
;
147 SAFEARR_DISPATCH DispatchStr
;
148 SAFEARR_VARIANT VariantStr
;
149 SAFEARR_BRECORD RecordStr
;
150 SAFEARR_HAVEIID HaveIidStr
;
151 BYTE_SIZEDARR ByteStr
;
152 WORD_SIZEDARR WordStr
;
153 DWORD_SIZEDARR LongStr
;
154 HYPER_SIZEDARR HyperStr
;
157 typedef struct _wireSAFEARRAY
{
162 SAFEARRAYUNION uArrayStructs
;
163 SAFEARRAYBOUND rgsabound
[1];
165 typedef wireSAFEARRAY
*wirePSAFEARRAY
;
166 typedef struct tagSAFEARRAY
{
172 SAFEARRAYBOUND rgsabound
[1];
173 }SAFEARRAY
,*LPSAFEARRAY
;
174 #if defined (__GNUC__) && !defined (NONAMELESSUNION)
175 __extension__
/* no named members */
177 typedef struct tagVARIANT
{
178 _ANONYMOUS_UNION
union {
179 struct __tagVARIANT
{
184 _ANONYMOUS_UNION
union {
190 VARIANT_BOOL boolVal
;
198 unsigned char *pbVal
;
203 VARIANT_BOOL
*pboolVal
;
204 _VARIANT_BOOL
*pbool
;
210 LPDISPATCH
*ppdispVal
;
212 struct tagVARIANT
*pvarVal
;
225 _ANONYMOUS_STRUCT
struct {
227 struct IRecordInfo
*pRecInfo
;
233 } VARIANT
,*LPVARIANT
;
234 typedef VARIANT VARIANTARG
;
235 typedef VARIANT
*LPVARIANTARG
;
236 typedef struct _wireVARIANT
{
243 _ANONYMOUS_UNION
union {
249 VARIANT_BOOL boolVal
;
256 wirePSAFEARRAY parray
;
263 VARIANT_BOOL
*pboolVal
;
269 LPDISPATCH
*ppdispVal
;
270 wirePSAFEARRAY
*pparray
;
271 struct _wireVARIANT
*pvarVal
;
287 typedef DISPID MEMBERID
;
288 typedef DWORD HREFTYPE
;
289 typedef enum tagTYPEKIND
{
290 TKIND_ENUM
,TKIND_RECORD
,TKIND_MODULE
,TKIND_INTERFACE
,TKIND_DISPATCH
,
291 TKIND_COCLASS
,TKIND_ALIAS
,TKIND_UNION
,TKIND_MAX
293 typedef struct tagTYPEDESC
{
294 _ANONYMOUS_UNION
union {
295 struct tagTYPEDESC
*lptdesc
;
296 struct tagARRAYDESC
*lpadesc
;
301 typedef struct tagARRAYDESC
{
304 SAFEARRAYBOUND rgbounds
[1];
306 typedef struct tagPARAMDESCEX
{
308 VARIANTARG varDefaultValue
;
309 }PARAMDESCEX
,*LPPARAMDESCEX
;
310 typedef struct tagPARAMDESC
{
311 LPPARAMDESCEX pparamdescex
;
313 }PARAMDESC
,*LPPARAMDESC
;
314 typedef struct tagIDLDESC
{
318 typedef struct tagELEMDESC
{
320 _ANONYMOUS_UNION
union {
324 } ELEMDESC
,*LPELEMDESC
;
325 typedef struct tagTYPEATTR
{
329 MEMBERID memidConstructor
;
330 MEMBERID memidDestructor
;
331 LPOLESTR lpstrSchema
;
332 ULONG cbSizeInstance
;
344 }TYPEATTR
,*LPTYPEATTR
;
345 typedef struct tagDISPPARAMS
{
347 DISPID
*rgdispidNamedArgs
;
351 typedef struct tagEXCEPINFO
{
355 BSTR bstrDescription
;
359 HRESULT(__stdcall
* pfnDeferredFillIn
)(struct tagEXCEPINFO
*);
361 } EXCEPINFO
,*LPEXCEPINFO
;
362 typedef enum tagCALLCONV
{
363 CC_FASTCALL
,CC_CDECL
,CC_MSCPASCAL
,CC_PASCAL
=CC_MSCPASCAL
,
364 CC_MACPASCAL
,CC_STDCALL
,CC_FPFASTCALL
,CC_SYSCALL
,CC_MPWCDECL
,
365 CC_MPWPASCAL
,CC_MAX
=CC_MPWPASCAL
367 typedef enum tagFUNCKIND
{
368 FUNC_VIRTUAL
,FUNC_PUREVIRTUAL
,FUNC_NONVIRTUAL
,
369 FUNC_STATIC
,FUNC_DISPATCH
371 typedef enum tagINVOKEKIND
{
372 INVOKE_FUNC
=1,INVOKE_PROPERTYGET
,INVOKE_PROPERTYPUT
=4,
373 INVOKE_PROPERTYPUTREF
=8
375 typedef struct tagFUNCDESC
{
378 ELEMDESC
*lprgelemdescParam
;
386 ELEMDESC elemdescFunc
;
388 }FUNCDESC
,*LPFUNCDESC
;
389 typedef enum tagVARKIND
{
390 VAR_PERINSTANCE
,VAR_STATIC
,VAR_CONST
,VAR_DISPATCH
392 typedef struct tagVARDESC
{
394 LPOLESTR lpstrSchema
;
395 _ANONYMOUS_UNION
union {
399 ELEMDESC elemdescVar
;
402 } VARDESC
,*LPVARDESC
;
403 typedef enum tagTYPEFLAGS
{
404 TYPEFLAG_FAPPOBJECT
=1,TYPEFLAG_FCANCREATE
=2,TYPEFLAG_FLICENSED
=4,
405 TYPEFLAG_FPREDECLID
=8,TYPEFLAG_FHIDDEN
=16,TYPEFLAG_FCONTROL
=32,
406 TYPEFLAG_FDUAL
=64,TYPEFLAG_FNONEXTENSIBLE
=128,
407 TYPEFLAG_FOLEAUTOMATION
=256,TYPEFLAG_FRESTRICTED
=512,
408 TYPEFLAG_FAGGREGATABLE
=1024,TYPEFLAG_FREPLACEABLE
=2048,
409 TYPEFLAG_FDISPATCHABLE
=4096,TYPEFLAG_FREVERSEBIND
=8192
411 typedef enum tagFUNCFLAGS
{
412 FUNCFLAG_FRESTRICTED
=1,FUNCFLAG_FSOURCE
=2,FUNCFLAG_FBINDABLE
=4,
413 FUNCFLAG_FREQUESTEDIT
=8,FUNCFLAG_FDISPLAYBIND
=16,FUNCFLAG_FDEFAULTBIND
=32,
414 FUNCFLAG_FHIDDEN
=64,FUNCFLAG_FUSESGETLASTERROR
=128,FUNCFLAG_FDEFAULTCOLLELEM
=256,
415 FUNCFLAG_FUIDEFAULT
=512,FUNCFLAG_FNONBROWSABLE
=1024,FUNCFLAG_FREPLACEABLE
=2048,
416 FUNCFLAG_FIMMEDIATEBIND
=4096
418 typedef enum tagVARFLAGS
{
419 VARFLAG_FREADONLY
=1,VARFLAG_FSOURCE
=2,VARFLAG_FBINDABLE
=4,VARFLAG_FREQUESTEDIT
=8,
420 VARFLAG_FDISPLAYBIND
=16,VARFLAG_FDEFAULTBIND
=32,VARFLAG_FHIDDEN
=64,VARFLAG_FRESTRICTED
=128,
421 VARFLAG_FDEFAULTCOLLELEM
=256,VARFLAG_FUIDEFAULT
=512,VARFLAG_FNONBROWSABLE
=1024,
422 VARFLAG_FREPLACEABLE
=2048,VARFLAG_FIMMEDIATEBIND
=4096
424 typedef struct tagCLEANLOCALSTORAGE
{
425 IUnknown
*pInterface
;
429 typedef struct tagCUSTDATAITEM
{
432 } CUSTDATAITEM
,*LPCUSTDATAITEM
;
433 typedef struct tagCUSTDATA
{
435 LPCUSTDATAITEM prgCustData
;
436 } CUSTDATA
,*LPCUSTDATA
;
438 typedef enum tagDESCKIND
{
439 DESCKIND_NONE
=0,DESCKIND_FUNCDESC
=DESCKIND_NONE
+1,
440 DESCKIND_VARDESC
=DESCKIND_FUNCDESC
+1,DESCKIND_TYPECOMP
=DESCKIND_VARDESC
+1,
441 DESCKIND_IMPLICITAPPOBJ
=DESCKIND_TYPECOMP
+1,
442 DESCKIND_MAX
=DESCKIND_IMPLICITAPPOBJ
+1
445 typedef union tagBINDPTR
{
446 LPFUNCDESC lpfuncdesc
;
449 } BINDPTR
,*LPBINDPTR
;
452 #define INTERFACE IDispatch
453 DECLARE_INTERFACE_(IDispatch
,IUnknown
)
455 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
456 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
457 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
458 STDMETHOD(GetTypeInfoCount
)(THIS_ UINT
*) PURE
;
459 STDMETHOD(GetTypeInfo
)(THIS_ UINT
,LCID
,LPTYPEINFO
*) PURE
;
460 STDMETHOD(GetIDsOfNames
)(THIS_ REFIID
,LPOLESTR
*,UINT
,LCID
,DISPID
*) PURE
;
461 STDMETHOD(Invoke
)(THIS_ DISPID
,REFIID
,LCID
,WORD
,DISPPARAMS
*,VARIANT
*,EXCEPINFO
*,UINT
*) PURE
;
465 #define INTERFACE IEnumVARIANT
466 DECLARE_INTERFACE_(IEnumVARIANT
,IUnknown
)
468 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
469 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
470 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
471 STDMETHOD(Next
)(THIS_ ULONG
,VARIANT
*,ULONG
*) PURE
;
472 STDMETHOD(Skip
)(THIS_ ULONG
) PURE
;
473 STDMETHOD(Reset
)(THIS
) PURE
;
474 STDMETHOD(Clone
)(THIS_ IEnumVARIANT
**) PURE
;
478 #define INTERFACE ITypeComp
479 DECLARE_INTERFACE_(ITypeComp
,IUnknown
)
481 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
482 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
483 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
484 STDMETHOD(Bind
)(THIS_ LPOLESTR
,ULONG
,WORD
,LPTYPEINFO
*,DESCKIND
*,LPBINDPTR
) PURE
;
485 STDMETHOD(BindType
)(THIS_ LPOLESTR
,ULONG
,LPTYPEINFO
*,LPTYPECOMP
*) PURE
;
489 #define INTERFACE ITypeInfo
490 DECLARE_INTERFACE_(ITypeInfo
,IUnknown
)
492 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
493 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
494 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
495 STDMETHOD(GetTypeAttr
)(THIS_ LPTYPEATTR
*) PURE
;
496 STDMETHOD(GetTypeComp
)(THIS_ LPTYPECOMP
*) PURE
;
497 STDMETHOD(GetFuncDesc
)(THIS_ UINT
,LPFUNCDESC
*) PURE
;
498 STDMETHOD(GetVarDesc
)(THIS_ UINT
,LPVARDESC
*) PURE
;
499 STDMETHOD(GetNames
)(THIS_ MEMBERID
,BSTR
*,UINT
,UINT
*) PURE
;
500 STDMETHOD(GetRefTypeOfImplType
)(THIS_ UINT
,HREFTYPE
*) PURE
;
501 STDMETHOD(GetImplTypeFlags
)(THIS_ UINT
,INT
*) PURE
;
502 STDMETHOD(GetIDsOfNames
)(THIS_ LPOLESTR
*,UINT
,MEMBERID
*) PURE
;
503 STDMETHOD(Invoke
)(THIS_ PVOID
,MEMBERID
,WORD
,DISPPARAMS
*,VARIANT
*,EXCEPINFO
*,UINT
*) PURE
;
504 STDMETHOD(GetDocumentation
)(THIS_ MEMBERID
,BSTR
*,BSTR
*,DWORD
*,BSTR
*) PURE
;
505 STDMETHOD(GetDllEntry
)(THIS_ MEMBERID
,INVOKEKIND
,BSTR
*,BSTR
*,WORD
*) PURE
;
506 STDMETHOD(GetRefTypeInfo
)(THIS_ HREFTYPE
,LPTYPEINFO
*) PURE
;
507 STDMETHOD(AddressOfMember
)(THIS_ MEMBERID
,INVOKEKIND
,PVOID
*) PURE
;
508 STDMETHOD(CreateInstance
)(THIS_ LPUNKNOWN
,REFIID
,PVOID
*) PURE
;
509 STDMETHOD(GetMops
)(THIS_ MEMBERID
,BSTR
*) PURE
;
510 STDMETHOD(GetContainingTypeLib
)(THIS_ LPTYPELIB
*,UINT
*) PURE
;
511 STDMETHOD_(void,ReleaseTypeAttr
)(THIS_ LPTYPEATTR
) PURE
;
512 STDMETHOD_(void,ReleaseFuncDesc
)(THIS_ LPFUNCDESC
) PURE
;
513 STDMETHOD_(void,ReleaseVarDesc
)(THIS_ LPVARDESC
) PURE
;
517 #define INTERFACE ITypeLib
518 DECLARE_INTERFACE_(ITypeLib
,IUnknown
)
520 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
521 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
522 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
523 STDMETHOD_(UINT
,GetTypeInfoCount
)(THIS
) PURE
;
524 STDMETHOD(GetTypeInfo
)(THIS_ UINT
,ITypeInfo
**) PURE
;
525 STDMETHOD(GetTypeInfoType
)(THIS_ UINT
,TYPEKIND
*) PURE
;
526 STDMETHOD(GetTypeInfoOfGuid
)(THIS_ REFGUID
,ITypeInfo
**) PURE
;
527 STDMETHOD(GetLibAttr
)(THIS_ TLIBATTR
**) PURE
;
528 STDMETHOD(GetTypeComp
)(THIS_ ITypeComp
*) PURE
;
529 STDMETHOD(GetDocumentation
)(THIS_ INT
,BSTR
*,BSTR
*,DWORD
*,BSTR
*) PURE
;
530 STDMETHOD(IsName
)(THIS_ LPOLESTR
,ULONG
,BOOL
*) PURE
;
531 STDMETHOD(FindName
)(THIS_ LPOLESTR
,ULONG
,ITypeInfo
**,MEMBERID
*,USHORT
*) PURE
;
532 STDMETHOD_(void,ReleaseTLibAttr
)(THIS_ TLIBATTR
*) PURE
;
535 EXTERN_C
const IID IID_IErrorInfo
;
537 #define INTERFACE IErrorInfo
538 DECLARE_INTERFACE_(IErrorInfo
, IUnknown
)
540 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
541 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
542 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
543 STDMETHOD(GetGUID
)(THIS_ GUID
*) PURE
;
544 STDMETHOD(GetSource
)(THIS_ BSTR
*) PURE
;
545 STDMETHOD(GetDescription
)(THIS_ BSTR
*) PURE
;
546 STDMETHOD(GetHelpFile
)(THIS_ BSTR
*) PURE
;
547 STDMETHOD(GetHelpContext
)(THIS_ DWORD
*) PURE
;
550 EXTERN_C
const IID IID_ICreateErrorInfo
;
552 #define INTERFACE ICreateErrorInfo
553 DECLARE_INTERFACE_(ICreateErrorInfo
, IUnknown
)
555 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*)PURE
;
556 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
557 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
558 STDMETHOD(SetGUID
)(THIS_ REFGUID
) PURE
;
559 STDMETHOD(SetSource
)(THIS_ LPOLESTR
) PURE
;
560 STDMETHOD(SetDescription
)(THIS_ LPOLESTR
) PURE
;
561 STDMETHOD(SetHelpFile
)(THIS_ LPOLESTR
) PURE
;
562 STDMETHOD(SetHelpContext
)(THIS_ DWORD
) PURE
;
565 EXTERN_C
const IID IID_ISupportErrorInfo
;
567 #define INTERFACE ISupportErrorInfo
568 DECLARE_INTERFACE_(ISupportErrorInfo
, IUnknown
)
570 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
571 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
572 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
573 STDMETHOD(InterfaceSupportsErrorInfo
)(THIS_ REFIID
) PURE
;
576 EXTERN_C
const IID IID_IRecordInfo
;
578 #define INTERFACE IRecordInfo
579 DECLARE_INTERFACE_(IRecordInfo
, IUnknown
)
581 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
582 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
583 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
584 STDMETHOD(RecordInit
)(THIS_ PVOID
) PURE
;
585 STDMETHOD(RecordClear
)(THIS_ PVOID
) PURE
;
586 STDMETHOD(RecordCopy
)(THIS_ PVOID
, PVOID
) PURE
;
587 STDMETHOD(GetGuid
)(THIS_ GUID
*) PURE
;
588 STDMETHOD(GetName
)(THIS_ BSTR
*) PURE
;
589 STDMETHOD(GetSize
)(THIS_ ULONG
*) PURE
;
590 STDMETHOD(GetTypeInfo
)(THIS_ ITypeInfo
**) PURE
;
591 STDMETHOD(GetField
)(THIS_ PVOID
,LPCOLESTR
,VARIANT
*) PURE
;
592 STDMETHOD(GetFieldNoCopy
)(THIS_ PVOID
,LPCOLESTR
,VARIANT
*,PVOID
*) PURE
;
593 STDMETHOD(PutField
)(THIS_ ULONG
,PVOID
,LPCOLESTR
, VARIANT
*) PURE
;
594 STDMETHOD(PutFieldNoCopy
)(THIS_ ULONG
,PVOID
,LPCOLESTR
,VARIANT
*) PURE
;
595 STDMETHOD(GetFieldNames
)(THIS_ ULONG
*,BSTR
*) PURE
;
596 STDMETHOD_(BOOL
,IsMatchingType
)(THIS_ THIS
) PURE
;
597 STDMETHOD_(PVOID
,RecordCreate
)(THIS
) PURE
;
598 STDMETHOD(RecordCreateCopy
)(THIS_ PVOID
,PVOID
*) PURE
;
599 STDMETHOD(RecordDestroy
)(THIS_ PVOID
) PURE
;