|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  |  | 
|  | #ifndef DO_NO_IMPORTS | 
|  | import "objidl.idl"; | 
|  | #endif | 
|  |  | 
|  | interface IDispatch; | 
|  | interface IRecordInfo; | 
|  | interface ITypeInfo; | 
|  | interface ITypeLib; | 
|  |  | 
|  | cpp_quote("#ifndef __ICreateTypeInfo_FWD_DEFINED__") | 
|  | cpp_quote("#define __ICreateTypeInfo_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ICreateTypeInfo ICreateTypeInfo;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ICreateTypeInfo2_FWD_DEFINED__") | 
|  | cpp_quote("#define __ICreateTypeInfo2_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ICreateTypeInfo2 ICreateTypeInfo2;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ICreateTypeLib_FWD_DEFINED__") | 
|  | cpp_quote("#define __ICreateTypeLib_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ICreateTypeLib ICreateTypeLib;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ICreateTypeLib2_FWD_DEFINED__") | 
|  | cpp_quote("#define __ICreateTypeLib2_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ICreateTypeLib2 ICreateTypeLib2;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __IEnumVARIANT_FWD_DEFINED__") | 
|  | cpp_quote("#define __IEnumVARIANT_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct IEnumVARIANT IEnumVARIANT;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ITypeInfo2_FWD_DEFINED__") | 
|  | cpp_quote("#define __ITypeInfo2_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ITypeInfo2 ITypeInfo2;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ITypeLib2_FWD_DEFINED__") | 
|  | cpp_quote("#define __ITypeLib2_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ITypeLib2 ITypeLib2;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ITypeChangeEvents_FWD_DEFINED__") | 
|  | cpp_quote("#define __ITypeChangeEvents_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ITypeChangeEvents ITypeChangeEvents;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __IErrorInfo_FWD_DEFINED__") | 
|  | cpp_quote("#define __IErrorInfo_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct IErrorInfo IErrorInfo;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ICreateErrorInfo_FWD_DEFINED__") | 
|  | cpp_quote("#define __ICreateErrorInfo_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ICreateErrorInfo ICreateErrorInfo;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ISupportErrorInfo_FWD_DEFINED__") | 
|  | cpp_quote("#define __ISupportErrorInfo_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ISupportErrorInfo ISupportErrorInfo;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ITypeFactory_FWD_DEFINED__") | 
|  | cpp_quote("#define __ITypeFactory_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ITypeFactory ITypeFactory;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ITypeMarshal_FWD_DEFINED__") | 
|  | cpp_quote("#define __ITypeMarshal_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct ITypeMarshal ITypeMarshal;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __IPropertyBag_FWD_DEFINED__") | 
|  | cpp_quote("#define __IPropertyBag_FWD_DEFINED__") | 
|  | cpp_quote("typedef struct IPropertyBag IPropertyBag;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_v0_0_c_ifspec;") | 
|  | cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_v0_0_s_ifspec;") | 
|  |  | 
|  | [ | 
|  | version(1.0), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IOleAutomationTypes | 
|  | { | 
|  |  | 
|  | typedef CY CURRENCY; | 
|  |  | 
|  | typedef struct tagSAFEARRAYBOUND { | 
|  | ULONG cElements; | 
|  | LONG lLbound; | 
|  | } SAFEARRAYBOUND, *LPSAFEARRAYBOUND; | 
|  |  | 
|  | typedef [unique] struct _wireVARIANT *wireVARIANT; | 
|  | typedef [unique] struct _wireBRECORD *wireBRECORD; | 
|  |  | 
|  | typedef struct _wireSAFEARR_BSTR { | 
|  | ULONG Size; | 
|  | [size_is(Size), ref] wireBSTR *aBstr; | 
|  | } SAFEARR_BSTR; | 
|  |  | 
|  | typedef struct _wireSAFEARR_UNKNOWN { | 
|  | ULONG Size; | 
|  | [size_is(Size), ref] IUnknown **apUnknown; | 
|  | } SAFEARR_UNKNOWN; | 
|  |  | 
|  | typedef struct _wireSAFEARR_DISPATCH { | 
|  | ULONG Size; | 
|  | [size_is(Size), ref] IDispatch **apDispatch; | 
|  | } SAFEARR_DISPATCH; | 
|  |  | 
|  | typedef struct _wireSAFEARR_VARIANT { | 
|  | ULONG Size; | 
|  | [size_is(Size), ref] wireVARIANT *aVariant; | 
|  | } SAFEARR_VARIANT; | 
|  |  | 
|  | typedef struct _wireSAFEARR_BRECORD { | 
|  | ULONG Size; | 
|  | [size_is(Size), ref] wireBRECORD *aRecord; | 
|  | } SAFEARR_BRECORD; | 
|  |  | 
|  | typedef struct _wireSAFEARR_HAVEIID { | 
|  | ULONG Size; | 
|  | [size_is(Size), ref] IUnknown **apUnknown; | 
|  | IID iid; | 
|  | } SAFEARR_HAVEIID; | 
|  |  | 
|  | typedef [v1_enum] enum tagSF_TYPE { | 
|  | SF_ERROR = VT_ERROR, | 
|  | SF_I1 = VT_I1, | 
|  | SF_I2 = VT_I2, | 
|  | SF_I4 = VT_I4, | 
|  | SF_I8 = VT_I8, | 
|  | SF_BSTR = VT_BSTR, | 
|  | SF_UNKNOWN = VT_UNKNOWN, | 
|  | SF_DISPATCH = VT_DISPATCH, | 
|  | SF_VARIANT = VT_VARIANT, | 
|  | SF_RECORD = VT_RECORD, | 
|  | SF_HAVEIID = VT_UNKNOWN | VT_RESERVED | 
|  | } SF_TYPE; | 
|  |  | 
|  | typedef union _wireSAFEARRAY_UNION switch(ULONG sfType) u { | 
|  | case SF_BSTR: SAFEARR_BSTR BstrStr; | 
|  | case SF_UNKNOWN: SAFEARR_UNKNOWN UnknownStr; | 
|  | case SF_DISPATCH: SAFEARR_DISPATCH DispatchStr; | 
|  | case SF_VARIANT: SAFEARR_VARIANT VariantStr; | 
|  | case SF_RECORD: SAFEARR_BRECORD RecordStr; | 
|  | case SF_HAVEIID: SAFEARR_HAVEIID HaveIidStr; | 
|  | case SF_I1: BYTE_SIZEDARR ByteStr; | 
|  | case SF_I2: WORD_SIZEDARR WordStr; | 
|  | case SF_I4: DWORD_SIZEDARR LongStr; | 
|  | case SF_I8: HYPER_SIZEDARR HyperStr; | 
|  | } SAFEARRAYUNION; | 
|  |  | 
|  | typedef [unique] struct _wireSAFEARRAY { | 
|  | USHORT cDims; | 
|  | USHORT fFeatures; | 
|  | ULONG cbElements; | 
|  | ULONG cLocks; | 
|  | SAFEARRAYUNION uArrayStructs; | 
|  | [size_is(cDims)] SAFEARRAYBOUND rgsabound[]; | 
|  | } *wireSAFEARRAY; | 
|  |  | 
|  | typedef [unique] wireSAFEARRAY *wirePSAFEARRAY; | 
|  |  | 
|  | typedef struct tagSAFEARRAY { | 
|  | USHORT cDims; | 
|  | USHORT fFeatures; | 
|  | ULONG cbElements; | 
|  | ULONG cLocks; | 
|  | PVOID pvData; | 
|  | SAFEARRAYBOUND rgsabound[]; | 
|  | } SAFEARRAY; | 
|  |  | 
|  | typedef [wire_marshal(wirePSAFEARRAY)] SAFEARRAY *LPSAFEARRAY; | 
|  |  | 
|  | cpp_quote("#define FADF_AUTO (0x1)") | 
|  | cpp_quote("#define FADF_STATIC (0x2)") | 
|  | cpp_quote("#define FADF_EMBEDDED (0x4)") | 
|  | cpp_quote("#define FADF_FIXEDSIZE (0x10)") | 
|  | cpp_quote("#define FADF_RECORD (0x20)") | 
|  | cpp_quote("#define FADF_HAVEIID (0x40)") | 
|  | cpp_quote("#define FADF_HAVEVARTYPE (0x80)") | 
|  | cpp_quote("#define FADF_BSTR (0x100)") | 
|  | cpp_quote("#define FADF_UNKNOWN (0x200)") | 
|  | cpp_quote("#define FADF_DISPATCH (0x400)") | 
|  | cpp_quote("#define FADF_VARIANT (0x800)") | 
|  | cpp_quote("#define FADF_RESERVED (0xf008)") | 
|  |  | 
|  | cpp_quote("#if defined(NONAMELESSUNION)") | 
|  | cpp_quote("#define __VARIANT_NAME_1 n1") | 
|  | cpp_quote("#define __VARIANT_NAME_2 n2") | 
|  | cpp_quote("#define __VARIANT_NAME_3 n3") | 
|  | cpp_quote("#define __VARIANT_NAME_4 brecVal") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("#define __tagVARIANT") | 
|  | cpp_quote("#define __VARIANT_NAME_1") | 
|  | cpp_quote("#define __VARIANT_NAME_2") | 
|  | cpp_quote("#define __VARIANT_NAME_3") | 
|  | cpp_quote("#define __tagBRECORD") | 
|  | cpp_quote("#define __VARIANT_NAME_4") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | typedef [wire_marshal(wireVARIANT)] struct tagVARIANT VARIANT; | 
|  |  | 
|  | struct tagVARIANT { | 
|  | union { | 
|  | struct __tagVARIANT { | 
|  | VARTYPE vt; | 
|  | WORD wReserved1; | 
|  | WORD wReserved2; | 
|  | WORD wReserved3; | 
|  | union { | 
|  | LONGLONG llVal; | 
|  | LONG lVal; | 
|  | BYTE bVal; | 
|  | SHORT iVal; | 
|  | FLOAT fltVal; | 
|  | DOUBLE dblVal; | 
|  | VARIANT_BOOL boolVal; | 
|  | /* _VARIANT_BOOL bool; */ | 
|  | SCODE scode; | 
|  | CY cyVal; | 
|  | DATE date; | 
|  | BSTR bstrVal; | 
|  | IUnknown *punkVal; | 
|  | IDispatch *pdispVal; | 
|  | SAFEARRAY *parray; | 
|  | BYTE *pbVal; | 
|  | SHORT *piVal; | 
|  | LONG *plVal; | 
|  | LONGLONG *pllVal; | 
|  | FLOAT *pfltVal; | 
|  | DOUBLE *pdblVal; | 
|  | VARIANT_BOOL *pboolVal; | 
|  | /* _VARIANT_BOOL *pbool; */ | 
|  | SCODE *pscode; | 
|  | CY *pcyVal; | 
|  | DATE *pdate; | 
|  | BSTR *pbstrVal; | 
|  | IUnknown **ppunkVal; | 
|  | IDispatch **ppdispVal; | 
|  | SAFEARRAY **pparray; | 
|  | VARIANT *pvarVal; | 
|  | PVOID byref; | 
|  | CHAR cVal; | 
|  | USHORT uiVal; | 
|  | ULONG ulVal; | 
|  | ULONGLONG ullVal; | 
|  | INT intVal; | 
|  | UINT uintVal; | 
|  | DECIMAL *pdecVal; | 
|  | CHAR *pcVal; | 
|  | USHORT *puiVal; | 
|  | ULONG *pulVal; | 
|  | ULONGLONG *pullVal; | 
|  | INT *pintVal; | 
|  | UINT *puintVal; | 
|  | struct __tagBRECORD { | 
|  | PVOID pvRecord; | 
|  | IRecordInfo *pRecInfo; | 
|  | } __VARIANT_NAME_4; | 
|  | } __VARIANT_NAME_3; | 
|  | } __VARIANT_NAME_2; | 
|  | DECIMAL decVal; | 
|  | } __VARIANT_NAME_1; | 
|  | }; | 
|  |  | 
|  | typedef VARIANT *LPVARIANT; | 
|  | typedef VARIANT VARIANTARG; | 
|  | typedef VARIANT *LPVARIANTARG; | 
|  |  | 
|  | struct _wireBRECORD { | 
|  | ULONG fFlags; | 
|  | ULONG clSize; | 
|  | IRecordInfo *pRecInfo; | 
|  | [size_is(clSize)] byte *pRecord; | 
|  | }; | 
|  |  | 
|  | struct _wireVARIANT { | 
|  | DWORD clSize; | 
|  | DWORD rpcReserved; | 
|  | USHORT vt; | 
|  | USHORT wReserved1; | 
|  | USHORT wReserved2; | 
|  | USHORT wReserved3; | 
|  | [switch_type(ULONG), switch_is(vt)] union { | 
|  | [case(VT_I8)] LONGLONG llVal; | 
|  | [case(VT_I4)] LONG lVal; | 
|  | [case(VT_UI1)] BYTE bVal; | 
|  | [case(VT_I2)] SHORT iVal; | 
|  | [case(VT_R4)] FLOAT fltVal; | 
|  | [case(VT_R8)] DOUBLE dblVal; | 
|  | [case(VT_BOOL)] VARIANT_BOOL boolVal; | 
|  | [case(VT_ERROR)] SCODE scode; | 
|  | [case(VT_CY)] CY cyVal; | 
|  | [case(VT_DATE)] DATE date; | 
|  | [case(VT_BSTR)] wireBSTR bstrVal; | 
|  | [case(VT_UNKNOWN)] IUnknown *punkVal; | 
|  | [case(VT_DISPATCH)] IDispatch *pdispVal; | 
|  | [case(VT_ARRAY)] wirePSAFEARRAY parray; | 
|  | [case(VT_RECORD, VT_RECORD|VT_BYREF)] wireBRECORD brecVal; | 
|  | [case(VT_UI1|VT_BYREF)] BYTE *pbVal; | 
|  | [case(VT_I2|VT_BYREF)] SHORT *piVal; | 
|  | [case(VT_I4|VT_BYREF)] LONG *plVal; | 
|  | [case(VT_I8|VT_BYREF)] LONGLONG *pllVal; | 
|  | [case(VT_R4|VT_BYREF)] FLOAT *pfltVal; | 
|  | [case(VT_R8|VT_BYREF)] DOUBLE *pdblVal; | 
|  | [case(VT_BOOL|VT_BYREF)] VARIANT_BOOL *pboolVal; | 
|  | [case(VT_ERROR|VT_BYREF)] SCODE *pscode; | 
|  | [case(VT_CY|VT_BYREF)] CY *pcyVal; | 
|  | [case(VT_DATE|VT_BYREF)] DATE *pdate; | 
|  | [case(VT_BSTR|VT_BYREF)] wireBSTR *pbstrVal; | 
|  | [case(VT_UNKNOWN|VT_BYREF)] IUnknown **ppunkVal; | 
|  | [case(VT_DISPATCH|VT_BYREF)] IDispatch **ppdispVal; | 
|  | [case(VT_ARRAY|VT_BYREF)] wirePSAFEARRAY *pparray; | 
|  | [case(VT_VARIANT|VT_BYREF)] wireVARIANT *pvarVal; | 
|  | [case(VT_I1)] CHAR cVal; | 
|  | [case(VT_UI2)] USHORT uiVal; | 
|  | [case(VT_UI4)] ULONG ulVal; | 
|  | [case(VT_UI8)] ULONGLONG ullVal; | 
|  | [case(VT_INT)] INT intVal; | 
|  | [case(VT_UINT)] UINT uintVal; | 
|  | [case(VT_DECIMAL)] DECIMAL decVal; | 
|  | [case(VT_DECIMAL|VT_BYREF)] DECIMAL *pdecVal; | 
|  | [case(VT_I1|VT_BYREF)] CHAR *pcVal; | 
|  | [case(VT_UI2|VT_BYREF)] USHORT *puiVal; | 
|  | [case(VT_UI4|VT_BYREF)] ULONG *pulVal; | 
|  | [case(VT_UI8|VT_BYREF)] ULONGLONG *pullVal; | 
|  | [case(VT_INT|VT_BYREF)] INT *pintVal; | 
|  | [case(VT_UINT|VT_BYREF)] UINT *puintVal; | 
|  | [case(VT_EMPTY)] ; | 
|  | [case(VT_NULL)] ; | 
|  | } DUMMYUNIONNAME; | 
|  | }; | 
|  |  | 
|  | cpp_quote("#ifndef DEFINED_DISPID_MEMBERID") | 
|  | cpp_quote("#define DEFINED_DISPID_MEMBERID") | 
|  | typedef LONG DISPID; | 
|  | typedef DISPID MEMBERID; | 
|  | typedef DWORD HREFTYPE; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | typedef [v1_enum] enum tagTYPEKIND { | 
|  | TKIND_ENUM = 0, | 
|  | TKIND_RECORD, | 
|  | TKIND_MODULE, | 
|  | TKIND_INTERFACE, | 
|  | TKIND_DISPATCH, | 
|  | TKIND_COCLASS, | 
|  | TKIND_ALIAS, | 
|  | TKIND_UNION, | 
|  | TKIND_MAX | 
|  | } TYPEKIND; | 
|  |  | 
|  | typedef struct tagTYPEDESC { | 
|  | [switch_type(VARTYPE), switch_is(vt)] union { | 
|  | [case(VT_PTR, VT_SAFEARRAY)] struct tagTYPEDESC *lptdesc; | 
|  | [case(VT_CARRAY)] struct tagARRAYDESC *lpadesc; | 
|  | [case(VT_USERDEFINED)] HREFTYPE hreftype; | 
|  | [default] ; | 
|  | } DUMMYUNIONNAME; | 
|  | VARTYPE vt; | 
|  | } TYPEDESC; | 
|  |  | 
|  | typedef struct tagARRAYDESC { | 
|  | TYPEDESC tdescElem; | 
|  | USHORT cDims; | 
|  | [size_is(cDims)] SAFEARRAYBOUND rgbounds[]; | 
|  | } ARRAYDESC; | 
|  |  | 
|  | typedef struct tagPARAMDESCEX { | 
|  | ULONG cBytes; | 
|  | VARIANTARG varDefaultValue; | 
|  | } PARAMDESCEX, *LPPARAMDESCEX; | 
|  |  | 
|  | typedef struct tagPARAMDESC { | 
|  | LPPARAMDESCEX pparamdescex; | 
|  | USHORT wParamFlags; | 
|  | } PARAMDESC, *LPPARAMDESC; | 
|  |  | 
|  | const USHORT PARAMFLAG_NONE = 0; | 
|  | const USHORT PARAMFLAG_FIN = 0x1; | 
|  | const USHORT PARAMFLAG_FOUT = 0x2; | 
|  | const USHORT PARAMFLAG_FLCID = 0x4; | 
|  | const USHORT PARAMFLAG_FRETVAL = 0x8; | 
|  | const USHORT PARAMFLAG_FOPT = 0x10; | 
|  | const USHORT PARAMFLAG_FHASDEFAULT = 0x20; | 
|  | const USHORT PARAMFLAG_FHASCUSTDATA = 0x40; | 
|  |  | 
|  | typedef struct tagIDLDESC { | 
|  | ULONG_PTR dwReserved; | 
|  | USHORT wIDLFlags; | 
|  | } IDLDESC, *LPIDLDESC; | 
|  |  | 
|  | const USHORT IDLFLAG_NONE = PARAMFLAG_NONE; | 
|  | const USHORT IDLFLAG_FIN = PARAMFLAG_FIN; | 
|  | const USHORT IDLFLAG_FOUT = PARAMFLAG_FOUT; | 
|  | const USHORT IDLFLAG_FLCID = PARAMFLAG_FLCID; | 
|  | const USHORT IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL; | 
|  |  | 
|  | cpp_quote("#if 0") | 
|  |  | 
|  | typedef struct tagELEMDESC { | 
|  | TYPEDESC tdesc; | 
|  | PARAMDESC paramdesc; | 
|  | } ELEMDESC; | 
|  |  | 
|  | cpp_quote("#else") | 
|  |  | 
|  | cpp_quote("  typedef struct tagELEMDESC {") | 
|  | cpp_quote("    TYPEDESC tdesc;") | 
|  | cpp_quote("    __C89_NAMELESS union {") | 
|  | cpp_quote("      IDLDESC idldesc;") | 
|  | cpp_quote("      PARAMDESC paramdesc;") | 
|  | cpp_quote("    } DUMMYUNIONNAME;") | 
|  | cpp_quote("  } ELEMDESC,*LPELEMDESC;") | 
|  |  | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | typedef struct tagTYPEATTR { | 
|  | GUID guid; | 
|  | LCID lcid; | 
|  | DWORD dwReserved; | 
|  | MEMBERID memidConstructor; | 
|  | MEMBERID memidDestructor; | 
|  | LPOLESTR lpstrSchema; | 
|  | ULONG cbSizeInstance; | 
|  | TYPEKIND typekind; | 
|  | WORD cFuncs; | 
|  | WORD cVars; | 
|  | WORD cImplTypes; | 
|  | WORD cbSizeVft; | 
|  | WORD cbAlignment; | 
|  | WORD wTypeFlags; | 
|  | WORD wMajorVerNum; | 
|  | WORD wMinorVerNum; | 
|  | TYPEDESC tdescAlias; | 
|  | IDLDESC idldescType; | 
|  | } TYPEATTR, *LPTYPEATTR; | 
|  |  | 
|  | typedef struct tagDISPPARAMS { | 
|  | [size_is(cArgs)] VARIANTARG *rgvarg; | 
|  | [size_is(cNamedArgs)] DISPID *rgdispidNamedArgs; | 
|  | UINT cArgs; | 
|  | UINT cNamedArgs; | 
|  | } DISPPARAMS; | 
|  |  | 
|  | cpp_quote("#if 0") | 
|  |  | 
|  | typedef struct tagEXCEPINFO { | 
|  | WORD wCode; | 
|  | WORD wReserved; | 
|  | BSTR bstrSource; | 
|  | BSTR bstrDescription; | 
|  | BSTR bstrHelpFile; | 
|  | DWORD dwHelpContext; | 
|  | ULONG_PTR pvReserved; | 
|  | ULONG_PTR pfnDeferredFillIn; | 
|  | SCODE scode; | 
|  | } EXCEPINFO; | 
|  |  | 
|  | cpp_quote("#else") | 
|  |  | 
|  | cpp_quote("typedef struct tagEXCEPINFO {") | 
|  | cpp_quote("    WORD wCode;") | 
|  | cpp_quote("    WORD wReserved;") | 
|  | cpp_quote("    BSTR bstrSource;") | 
|  | cpp_quote("    BSTR bstrDescription;") | 
|  | cpp_quote("    BSTR bstrHelpFile;") | 
|  | cpp_quote("    DWORD dwHelpContext;") | 
|  | cpp_quote("    PVOID pvReserved;") | 
|  | cpp_quote("    HRESULT (WINAPI *pfnDeferredFillIn)(struct tagEXCEPINFO *);") | 
|  | cpp_quote("    SCODE scode;") | 
|  | cpp_quote("} EXCEPINFO,*LPEXCEPINFO;") | 
|  |  | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | typedef [v1_enum] enum tagCALLCONV { | 
|  | CC_FASTCALL = 0, | 
|  | CC_CDECL = 1, | 
|  | CC_MSCPASCAL = 2, | 
|  | CC_PASCAL = CC_MSCPASCAL, | 
|  | CC_MACPASCAL = 3, | 
|  | CC_STDCALL = 4, | 
|  | CC_FPFASTCALL = 5, | 
|  | CC_SYSCALL = 6, | 
|  | CC_MPWCDECL = 7, | 
|  | CC_MPWPASCAL = 8, | 
|  | CC_MAX = 9 | 
|  | } CALLCONV; | 
|  |  | 
|  | typedef [v1_enum] enum tagFUNCKIND { | 
|  | FUNC_VIRTUAL, | 
|  | FUNC_PUREVIRTUAL, | 
|  | FUNC_NONVIRTUAL, | 
|  | FUNC_STATIC, | 
|  | FUNC_DISPATCH | 
|  | } FUNCKIND; | 
|  |  | 
|  | typedef [v1_enum] enum tagINVOKEKIND { | 
|  | INVOKE_FUNC = 1, | 
|  | INVOKE_PROPERTYGET = 2, | 
|  | INVOKE_PROPERTYPUT = 4, | 
|  | INVOKE_PROPERTYPUTREF = 8 | 
|  | } INVOKEKIND; | 
|  |  | 
|  | typedef struct tagFUNCDESC { | 
|  | MEMBERID memid; | 
|  | [size_is(cScodes)] SCODE *lprgscode; | 
|  | [size_is(cParams)] ELEMDESC *lprgelemdescParam; | 
|  | FUNCKIND funckind; | 
|  | INVOKEKIND invkind; | 
|  | CALLCONV callconv; | 
|  | SHORT cParams; | 
|  | SHORT cParamsOpt; | 
|  | SHORT oVft; | 
|  | SHORT cScodes; | 
|  | ELEMDESC elemdescFunc; | 
|  | WORD wFuncFlags; | 
|  | } FUNCDESC, *LPFUNCDESC; | 
|  |  | 
|  | typedef [v1_enum] enum tagVARKIND { | 
|  | VAR_PERINSTANCE, | 
|  | VAR_STATIC, | 
|  | VAR_CONST, | 
|  | VAR_DISPATCH | 
|  | } VARKIND; | 
|  |  | 
|  | const USHORT IMPLTYPEFLAG_FDEFAULT = 0x1; | 
|  | const USHORT IMPLTYPEFLAG_FSOURCE = 0x2; | 
|  | const USHORT IMPLTYPEFLAG_FRESTRICTED = 0x4; | 
|  | const USHORT IMPLTYPEFLAG_FDEFAULTVTABLE = 0x8; | 
|  |  | 
|  | typedef struct tagVARDESC { | 
|  | MEMBERID memid; | 
|  | LPOLESTR lpstrSchema; | 
|  | [switch_type(VARKIND), switch_is(varkind)] union { | 
|  | [case(VAR_PERINSTANCE, VAR_DISPATCH, VAR_STATIC)] ULONG oInst; | 
|  | [case(VAR_CONST)] VARIANT *lpvarValue; | 
|  | } DUMMYUNIONNAME; | 
|  | ELEMDESC elemdescVar; | 
|  | WORD wVarFlags; | 
|  | VARKIND varkind; | 
|  | } VARDESC, *LPVARDESC; | 
|  |  | 
|  | cpp_quote("  typedef enum tagTYPEFLAGS {") | 
|  | cpp_quote("    TYPEFLAG_FAPPOBJECT = 0x1,TYPEFLAG_FCANCREATE = 0x2,TYPEFLAG_FLICENSED = 0x4,") | 
|  | cpp_quote("    TYPEFLAG_FPREDECLID = 0x8,TYPEFLAG_FHIDDEN = 0x10,") | 
|  | cpp_quote("    TYPEFLAG_FCONTROL = 0x20,TYPEFLAG_FDUAL = 0x40,TYPEFLAG_FNONEXTENSIBLE = 0x80,") | 
|  | cpp_quote("    TYPEFLAG_FOLEAUTOMATION = 0x100,TYPEFLAG_FRESTRICTED = 0x200,") | 
|  | cpp_quote("    TYPEFLAG_FAGGREGATABLE = 0x400,TYPEFLAG_FREPLACEABLE = 0x800,") | 
|  | cpp_quote("    TYPEFLAG_FDISPATCHABLE = 0x1000,TYPEFLAG_FREVERSEBIND = 0x2000,") | 
|  | cpp_quote("    TYPEFLAG_FPROXY = 0x4000") | 
|  | cpp_quote("  } TYPEFLAGS;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  typedef enum tagFUNCFLAGS {") | 
|  | cpp_quote("    FUNCFLAG_FRESTRICTED = 0x1,FUNCFLAG_FSOURCE = 0x2,FUNCFLAG_FBINDABLE = 0x4,") | 
|  | cpp_quote("    FUNCFLAG_FREQUESTEDIT = 0x8,FUNCFLAG_FDISPLAYBIND = 0x10,") | 
|  | cpp_quote("    FUNCFLAG_FDEFAULTBIND = 0x20,FUNCFLAG_FHIDDEN = 0x40,") | 
|  | cpp_quote("    FUNCFLAG_FUSESGETLASTERROR = 0x80,FUNCFLAG_FDEFAULTCOLLELEM = 0x100,") | 
|  | cpp_quote("    FUNCFLAG_FUIDEFAULT = 0x200,") | 
|  | cpp_quote("    FUNCFLAG_FNONBROWSABLE = 0x400,FUNCFLAG_FREPLACEABLE = 0x800,") | 
|  | cpp_quote("    FUNCFLAG_FIMMEDIATEBIND = 0x1000") | 
|  | cpp_quote("  } FUNCFLAGS;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  typedef enum tagVARFLAGS {") | 
|  | cpp_quote("    VARFLAG_FREADONLY = 0x1,VARFLAG_FSOURCE = 0x2,VARFLAG_FBINDABLE = 0x4,") | 
|  | cpp_quote("    VARFLAG_FREQUESTEDIT = 0x8,VARFLAG_FDISPLAYBIND = 0x10,") | 
|  | cpp_quote("    VARFLAG_FDEFAULTBIND = 0x20,VARFLAG_FHIDDEN = 0x40,VARFLAG_FRESTRICTED = 0x80,") | 
|  | cpp_quote("    VARFLAG_FDEFAULTCOLLELEM = 0x100,VARFLAG_FUIDEFAULT = 0x200,") | 
|  | cpp_quote("    VARFLAG_FNONBROWSABLE = 0x400,VARFLAG_FREPLACEABLE = 0x800,VARFLAG_FIMMEDIATEBIND = 0x1000") | 
|  | cpp_quote("  } VARFLAGS;") | 
|  |  | 
|  | typedef [wire_marshal(DWORD)] struct tagCLEANLOCALSTORAGE { | 
|  | IUnknown *pInterface; | 
|  | PVOID pStorage; | 
|  | DWORD flags; | 
|  | } CLEANLOCALSTORAGE; | 
|  |  | 
|  | cpp_quote("  typedef struct tagCUSTDATAITEM {") | 
|  | cpp_quote("    GUID guid;") | 
|  | cpp_quote("    VARIANTARG varValue;") | 
|  | cpp_quote("  } CUSTDATAITEM;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  typedef struct tagCUSTDATAITEM *LPCUSTDATAITEM;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  typedef struct tagCUSTDATA {") | 
|  | cpp_quote("    DWORD cCustData;") | 
|  | cpp_quote("    LPCUSTDATAITEM prgCustData;") | 
|  | cpp_quote("  } CUSTDATA;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  typedef struct tagCUSTDATA *LPCUSTDATA;") | 
|  |  | 
|  | } | 
|  |  | 
|  | cpp_quote("#ifndef __ICreateTypeInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ICreateTypeInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("#ifndef DEFINE_LPCREATETYPEINFO") | 
|  | cpp_quote("#define DEFINE_LPCREATETYPEINFO") | 
|  | cpp_quote("  typedef ICreateTypeInfo *LPCREATETYPEINFO;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ICreateTypeInfo;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ICreateTypeInfo : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetGuid(REFGUID guid) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetTypeFlags(UINT uTypeFlags) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetDocString(LPOLESTR pStrDoc) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetHelpContext(DWORD dwHelpContext) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetVersion(WORD wMajorVerNum,WORD wMinorVerNum) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI AddRefTypeInfo(ITypeInfo *pTInfo,HREFTYPE *phRefType) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI AddFuncDesc(UINT index,FUNCDESC *pFuncDesc) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI AddImplType(UINT index,HREFTYPE hRefType) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetImplTypeFlags(UINT index,INT implTypeFlags) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetAlignment(WORD cbAlignment) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetSchema(LPOLESTR pStrSchema) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI AddVarDesc(UINT index,VARDESC *pVarDesc) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetFuncAndParamNames(UINT index,LPOLESTR *rgszNames,UINT cNames) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetVarName(UINT index,LPOLESTR szName) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetTypeDescAlias(TYPEDESC *pTDescAlias) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI DefineFuncAsDllEntry(UINT index,LPOLESTR szDllName,LPOLESTR szProcName) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetFuncDocString(UINT index,LPOLESTR szDocString) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetVarDocString(UINT index,LPOLESTR szDocString) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetFuncHelpContext(UINT index,DWORD dwHelpContext) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetVarHelpContext(UINT index,DWORD dwHelpContext) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetMops(UINT index,BSTR bstrMops) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetTypeIdldesc(IDLDESC *pIdlDesc) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI LayOut(void) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ICreateTypeInfoVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ICreateTypeInfo *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ICreateTypeInfo *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ICreateTypeInfo *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetGuid)(ICreateTypeInfo *This,REFGUID guid);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetTypeFlags)(ICreateTypeInfo *This,UINT uTypeFlags);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetDocString)(ICreateTypeInfo *This,LPOLESTR pStrDoc);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpContext)(ICreateTypeInfo *This,DWORD dwHelpContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVersion)(ICreateTypeInfo *This,WORD wMajorVerNum,WORD wMinorVerNum);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddRefTypeInfo)(ICreateTypeInfo *This,ITypeInfo *pTInfo,HREFTYPE *phRefType);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddFuncDesc)(ICreateTypeInfo *This,UINT index,FUNCDESC *pFuncDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddImplType)(ICreateTypeInfo *This,UINT index,HREFTYPE hRefType);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetImplTypeFlags)(ICreateTypeInfo *This,UINT index,INT implTypeFlags);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetAlignment)(ICreateTypeInfo *This,WORD cbAlignment);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetSchema)(ICreateTypeInfo *This,LPOLESTR pStrSchema);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddVarDesc)(ICreateTypeInfo *This,UINT index,VARDESC *pVarDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetFuncAndParamNames)(ICreateTypeInfo *This,UINT index,LPOLESTR *rgszNames,UINT cNames);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVarName)(ICreateTypeInfo *This,UINT index,LPOLESTR szName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetTypeDescAlias)(ICreateTypeInfo *This,TYPEDESC *pTDescAlias);") | 
|  | cpp_quote("      HRESULT (WINAPI *DefineFuncAsDllEntry)(ICreateTypeInfo *This,UINT index,LPOLESTR szDllName,LPOLESTR szProcName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetFuncDocString)(ICreateTypeInfo *This,UINT index,LPOLESTR szDocString);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVarDocString)(ICreateTypeInfo *This,UINT index,LPOLESTR szDocString);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetFuncHelpContext)(ICreateTypeInfo *This,UINT index,DWORD dwHelpContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVarHelpContext)(ICreateTypeInfo *This,UINT index,DWORD dwHelpContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetMops)(ICreateTypeInfo *This,UINT index,BSTR bstrMops);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetTypeIdldesc)(ICreateTypeInfo *This,IDLDESC *pIdlDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *LayOut)(ICreateTypeInfo *This);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ICreateTypeInfoVtbl;") | 
|  | cpp_quote("  struct ICreateTypeInfo {") | 
|  | cpp_quote("    CONST_VTBL struct ICreateTypeInfoVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ICreateTypeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ICreateTypeInfo_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ICreateTypeInfo_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetTypeFlags(This,uTypeFlags) (This)->lpVtbl->SetTypeFlags(This,uTypeFlags)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetDocString(This,pStrDoc) (This)->lpVtbl->SetDocString(This,pStrDoc)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum)") | 
|  | cpp_quote("#define ICreateTypeInfo_AddRefTypeInfo(This,pTInfo,phRefType) (This)->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType)") | 
|  | cpp_quote("#define ICreateTypeInfo_AddFuncDesc(This,index,pFuncDesc) (This)->lpVtbl->AddFuncDesc(This,index,pFuncDesc)") | 
|  | cpp_quote("#define ICreateTypeInfo_AddImplType(This,index,hRefType) (This)->lpVtbl->AddImplType(This,index,hRefType)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetImplTypeFlags(This,index,implTypeFlags) (This)->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetAlignment(This,cbAlignment) (This)->lpVtbl->SetAlignment(This,cbAlignment)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetSchema(This,pStrSchema) (This)->lpVtbl->SetSchema(This,pStrSchema)") | 
|  | cpp_quote("#define ICreateTypeInfo_AddVarDesc(This,index,pVarDesc) (This)->lpVtbl->AddVarDesc(This,index,pVarDesc)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetFuncAndParamNames(This,index,rgszNames,cNames) (This)->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,cNames)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetVarName(This,index,szName) (This)->lpVtbl->SetVarName(This,index,szName)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetTypeDescAlias(This,pTDescAlias) (This)->lpVtbl->SetTypeDescAlias(This,pTDescAlias)") | 
|  | cpp_quote("#define ICreateTypeInfo_DefineFuncAsDllEntry(This,index,szDllName,szProcName) (This)->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,szProcName)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetFuncDocString(This,index,szDocString) (This)->lpVtbl->SetFuncDocString(This,index,szDocString)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetVarDocString(This,index,szDocString) (This)->lpVtbl->SetVarDocString(This,index,szDocString)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetFuncHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetFuncHelpContext(This,index,dwHelpContext)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetVarHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetVarHelpContext(This,index,dwHelpContext)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetMops(This,index,bstrMops) (This)->lpVtbl->SetMops(This,index,bstrMops)") | 
|  | cpp_quote("#define ICreateTypeInfo_SetTypeIdldesc(This,pIdlDesc) (This)->lpVtbl->SetTypeIdldesc(This,pIdlDesc)") | 
|  | cpp_quote("#define ICreateTypeInfo_LayOut(This) (This)->lpVtbl->LayOut(This)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetGuid_Proxy(ICreateTypeInfo *This,REFGUID guid);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetTypeFlags_Proxy(ICreateTypeInfo *This,UINT uTypeFlags);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetDocString_Proxy(ICreateTypeInfo *This,LPOLESTR pStrDoc);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetHelpContext_Proxy(ICreateTypeInfo *This,DWORD dwHelpContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetVersion_Proxy(ICreateTypeInfo *This,WORD wMajorVerNum,WORD wMinorVerNum);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_AddRefTypeInfo_Proxy(ICreateTypeInfo *This,ITypeInfo *pTInfo,HREFTYPE *phRefType);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_AddFuncDesc_Proxy(ICreateTypeInfo *This,UINT index,FUNCDESC *pFuncDesc);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_AddImplType_Proxy(ICreateTypeInfo *This,UINT index,HREFTYPE hRefType);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetImplTypeFlags_Proxy(ICreateTypeInfo *This,UINT index,INT implTypeFlags);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetAlignment_Proxy(ICreateTypeInfo *This,WORD cbAlignment);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetSchema_Proxy(ICreateTypeInfo *This,LPOLESTR pStrSchema);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_AddVarDesc_Proxy(ICreateTypeInfo *This,UINT index,VARDESC *pVarDesc);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetFuncAndParamNames_Proxy(ICreateTypeInfo *This,UINT index,LPOLESTR *rgszNames,UINT cNames);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetVarName_Proxy(ICreateTypeInfo *This,UINT index,LPOLESTR szName);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetTypeDescAlias_Proxy(ICreateTypeInfo *This,TYPEDESC *pTDescAlias);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(ICreateTypeInfo *This,UINT index,LPOLESTR szDllName,LPOLESTR szProcName);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetFuncDocString_Proxy(ICreateTypeInfo *This,UINT index,LPOLESTR szDocString);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetVarDocString_Proxy(ICreateTypeInfo *This,UINT index,LPOLESTR szDocString);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetFuncHelpContext_Proxy(ICreateTypeInfo *This,UINT index,DWORD dwHelpContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetVarHelpContext_Proxy(ICreateTypeInfo *This,UINT index,DWORD dwHelpContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetMops_Proxy(ICreateTypeInfo *This,UINT index,BSTR bstrMops);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetMops_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_SetTypeIdldesc_Proxy(ICreateTypeInfo *This,IDLDESC *pIdlDesc);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo_LayOut_Proxy(ICreateTypeInfo *This);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo_LayOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ICreateTypeInfo2_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef ICreateTypeInfo2 *LPCREATETYPEINFO2;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ICreateTypeInfo2;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ICreateTypeInfo2 : public ICreateTypeInfo {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI DeleteFuncDesc(UINT index) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI DeleteFuncDescByMemId(MEMBERID memid,INVOKEKIND invKind) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI DeleteVarDesc(UINT index) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI DeleteVarDescByMemId(MEMBERID memid) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI DeleteImplType(UINT index) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetCustData(REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetFuncCustData(UINT index,REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetParamCustData(UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetVarCustData(UINT index,REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetImplTypeCustData(UINT index,REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetHelpStringContext(ULONG dwHelpStringContext) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetFuncHelpStringContext(UINT index,ULONG dwHelpStringContext) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetVarHelpStringContext(UINT index,ULONG dwHelpStringContext) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI Invalidate(void) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetName(LPOLESTR szName) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ICreateTypeInfo2Vtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ICreateTypeInfo2 *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ICreateTypeInfo2 *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ICreateTypeInfo2 *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetGuid)(ICreateTypeInfo2 *This,REFGUID guid);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetTypeFlags)(ICreateTypeInfo2 *This,UINT uTypeFlags);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetDocString)(ICreateTypeInfo2 *This,LPOLESTR pStrDoc);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpContext)(ICreateTypeInfo2 *This,DWORD dwHelpContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVersion)(ICreateTypeInfo2 *This,WORD wMajorVerNum,WORD wMinorVerNum);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddRefTypeInfo)(ICreateTypeInfo2 *This,ITypeInfo *pTInfo,HREFTYPE *phRefType);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddFuncDesc)(ICreateTypeInfo2 *This,UINT index,FUNCDESC *pFuncDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddImplType)(ICreateTypeInfo2 *This,UINT index,HREFTYPE hRefType);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetImplTypeFlags)(ICreateTypeInfo2 *This,UINT index,INT implTypeFlags);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetAlignment)(ICreateTypeInfo2 *This,WORD cbAlignment);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetSchema)(ICreateTypeInfo2 *This,LPOLESTR pStrSchema);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddVarDesc)(ICreateTypeInfo2 *This,UINT index,VARDESC *pVarDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetFuncAndParamNames)(ICreateTypeInfo2 *This,UINT index,LPOLESTR *rgszNames,UINT cNames);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVarName)(ICreateTypeInfo2 *This,UINT index,LPOLESTR szName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetTypeDescAlias)(ICreateTypeInfo2 *This,TYPEDESC *pTDescAlias);") | 
|  | cpp_quote("      HRESULT (WINAPI *DefineFuncAsDllEntry)(ICreateTypeInfo2 *This,UINT index,LPOLESTR szDllName,LPOLESTR szProcName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetFuncDocString)(ICreateTypeInfo2 *This,UINT index,LPOLESTR szDocString);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVarDocString)(ICreateTypeInfo2 *This,UINT index,LPOLESTR szDocString);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetFuncHelpContext)(ICreateTypeInfo2 *This,UINT index,DWORD dwHelpContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVarHelpContext)(ICreateTypeInfo2 *This,UINT index,DWORD dwHelpContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetMops)(ICreateTypeInfo2 *This,UINT index,BSTR bstrMops);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetTypeIdldesc)(ICreateTypeInfo2 *This,IDLDESC *pIdlDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *LayOut)(ICreateTypeInfo2 *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *DeleteFuncDesc)(ICreateTypeInfo2 *This,UINT index);") | 
|  | cpp_quote("      HRESULT (WINAPI *DeleteFuncDescByMemId)(ICreateTypeInfo2 *This,MEMBERID memid,INVOKEKIND invKind);") | 
|  | cpp_quote("      HRESULT (WINAPI *DeleteVarDesc)(ICreateTypeInfo2 *This,UINT index);") | 
|  | cpp_quote("      HRESULT (WINAPI *DeleteVarDescByMemId)(ICreateTypeInfo2 *This,MEMBERID memid);") | 
|  | cpp_quote("      HRESULT (WINAPI *DeleteImplType)(ICreateTypeInfo2 *This,UINT index);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetCustData)(ICreateTypeInfo2 *This,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetFuncCustData)(ICreateTypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetParamCustData)(ICreateTypeInfo2 *This,UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVarCustData)(ICreateTypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetImplTypeCustData)(ICreateTypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpStringContext)(ICreateTypeInfo2 *This,ULONG dwHelpStringContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetFuncHelpStringContext)(ICreateTypeInfo2 *This,UINT index,ULONG dwHelpStringContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVarHelpStringContext)(ICreateTypeInfo2 *This,UINT index,ULONG dwHelpStringContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *Invalidate)(ICreateTypeInfo2 *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetName)(ICreateTypeInfo2 *This,LPOLESTR szName);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ICreateTypeInfo2Vtbl;") | 
|  | cpp_quote("  struct ICreateTypeInfo2 {") | 
|  | cpp_quote("    CONST_VTBL struct ICreateTypeInfo2Vtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ICreateTypeInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ICreateTypeInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ICreateTypeInfo2_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetTypeFlags(This,uTypeFlags) (This)->lpVtbl->SetTypeFlags(This,uTypeFlags)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetDocString(This,pStrDoc) (This)->lpVtbl->SetDocString(This,pStrDoc)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum)") | 
|  | cpp_quote("#define ICreateTypeInfo2_AddRefTypeInfo(This,pTInfo,phRefType) (This)->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType)") | 
|  | cpp_quote("#define ICreateTypeInfo2_AddFuncDesc(This,index,pFuncDesc) (This)->lpVtbl->AddFuncDesc(This,index,pFuncDesc)") | 
|  | cpp_quote("#define ICreateTypeInfo2_AddImplType(This,index,hRefType) (This)->lpVtbl->AddImplType(This,index,hRefType)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetImplTypeFlags(This,index,implTypeFlags) (This)->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetAlignment(This,cbAlignment) (This)->lpVtbl->SetAlignment(This,cbAlignment)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetSchema(This,pStrSchema) (This)->lpVtbl->SetSchema(This,pStrSchema)") | 
|  | cpp_quote("#define ICreateTypeInfo2_AddVarDesc(This,index,pVarDesc) (This)->lpVtbl->AddVarDesc(This,index,pVarDesc)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetFuncAndParamNames(This,index,rgszNames,cNames) (This)->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,cNames)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetVarName(This,index,szName) (This)->lpVtbl->SetVarName(This,index,szName)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetTypeDescAlias(This,pTDescAlias) (This)->lpVtbl->SetTypeDescAlias(This,pTDescAlias)") | 
|  | cpp_quote("#define ICreateTypeInfo2_DefineFuncAsDllEntry(This,index,szDllName,szProcName) (This)->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,szProcName)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetFuncDocString(This,index,szDocString) (This)->lpVtbl->SetFuncDocString(This,index,szDocString)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetVarDocString(This,index,szDocString) (This)->lpVtbl->SetVarDocString(This,index,szDocString)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetFuncHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetFuncHelpContext(This,index,dwHelpContext)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetVarHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetVarHelpContext(This,index,dwHelpContext)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetMops(This,index,bstrMops) (This)->lpVtbl->SetMops(This,index,bstrMops)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetTypeIdldesc(This,pIdlDesc) (This)->lpVtbl->SetTypeIdldesc(This,pIdlDesc)") | 
|  | cpp_quote("#define ICreateTypeInfo2_LayOut(This) (This)->lpVtbl->LayOut(This)") | 
|  | cpp_quote("#define ICreateTypeInfo2_DeleteFuncDesc(This,index) (This)->lpVtbl->DeleteFuncDesc(This,index)") | 
|  | cpp_quote("#define ICreateTypeInfo2_DeleteFuncDescByMemId(This,memid,invKind) (This)->lpVtbl->DeleteFuncDescByMemId(This,memid,invKind)") | 
|  | cpp_quote("#define ICreateTypeInfo2_DeleteVarDesc(This,index) (This)->lpVtbl->DeleteVarDesc(This,index)") | 
|  | cpp_quote("#define ICreateTypeInfo2_DeleteVarDescByMemId(This,memid) (This)->lpVtbl->DeleteVarDescByMemId(This,memid)") | 
|  | cpp_quote("#define ICreateTypeInfo2_DeleteImplType(This,index) (This)->lpVtbl->DeleteImplType(This,index)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetCustData(This,guid,pVarVal) (This)->lpVtbl->SetCustData(This,guid,pVarVal)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetFuncCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetFuncCustData(This,index,guid,pVarVal)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetParamCustData(This,indexFunc,indexParam,guid,pVarVal) (This)->lpVtbl->SetParamCustData(This,indexFunc,indexParam,guid,pVarVal)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetVarCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetVarCustData(This,index,guid,pVarVal)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetImplTypeCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetImplTypeCustData(This,index,guid,pVarVal)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetHelpStringContext(This,dwHelpStringContext) (This)->lpVtbl->SetHelpStringContext(This,dwHelpStringContext)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetFuncHelpStringContext(This,index,dwHelpStringContext) (This)->lpVtbl->SetFuncHelpStringContext(This,index,dwHelpStringContext)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetVarHelpStringContext(This,index,dwHelpStringContext) (This)->lpVtbl->SetVarHelpStringContext(This,index,dwHelpStringContext)") | 
|  | cpp_quote("#define ICreateTypeInfo2_Invalidate(This) (This)->lpVtbl->Invalidate(This)") | 
|  | cpp_quote("#define ICreateTypeInfo2_SetName(This,szName) (This)->lpVtbl->SetName(This,szName)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_DeleteFuncDesc_Proxy(ICreateTypeInfo2 *This,UINT index);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(ICreateTypeInfo2 *This,MEMBERID memid,INVOKEKIND invKind);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_DeleteVarDesc_Proxy(ICreateTypeInfo2 *This,UINT index);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(ICreateTypeInfo2 *This,MEMBERID memid);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_DeleteImplType_Proxy(ICreateTypeInfo2 *This,UINT index);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetCustData_Proxy(ICreateTypeInfo2 *This,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetFuncCustData_Proxy(ICreateTypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetParamCustData_Proxy(ICreateTypeInfo2 *This,UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetVarCustData_Proxy(ICreateTypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetImplTypeCustData_Proxy(ICreateTypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetHelpStringContext_Proxy(ICreateTypeInfo2 *This,ULONG dwHelpStringContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(ICreateTypeInfo2 *This,UINT index,ULONG dwHelpStringContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetVarHelpStringContext_Proxy(ICreateTypeInfo2 *This,UINT index,ULONG dwHelpStringContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_Invalidate_Proxy(ICreateTypeInfo2 *This);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeInfo2_SetName_Proxy(ICreateTypeInfo2 *This,LPOLESTR szName);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeInfo2_SetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ICreateTypeLib_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ICreateTypeLib_INTERFACE_DEFINED__") | 
|  | cpp_quote("#ifndef DEFINED_LPCREATETYPELIB") | 
|  | cpp_quote("#define DEFINED_LPCREATETYPELIB") | 
|  | cpp_quote("  typedef ICreateTypeLib *LPCREATETYPELIB;") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ICreateTypeLib;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ICreateTypeLib : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI CreateTypeInfo(LPOLESTR szName,TYPEKIND tkind,ICreateTypeInfo **ppCTInfo) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetName(LPOLESTR szName) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetVersion(WORD wMajorVerNum,WORD wMinorVerNum) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetGuid(REFGUID guid) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetDocString(LPOLESTR szDoc) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetHelpFileName(LPOLESTR szHelpFileName) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetHelpContext(DWORD dwHelpContext) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetLcid(LCID lcid) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetLibFlags(UINT uLibFlags) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SaveAllChanges(void) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ICreateTypeLibVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ICreateTypeLib *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ICreateTypeLib *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ICreateTypeLib *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *CreateTypeInfo)(ICreateTypeLib *This,LPOLESTR szName,TYPEKIND tkind,ICreateTypeInfo **ppCTInfo);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetName)(ICreateTypeLib *This,LPOLESTR szName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVersion)(ICreateTypeLib *This,WORD wMajorVerNum,WORD wMinorVerNum);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetGuid)(ICreateTypeLib *This,REFGUID guid);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetDocString)(ICreateTypeLib *This,LPOLESTR szDoc);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpFileName)(ICreateTypeLib *This,LPOLESTR szHelpFileName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpContext)(ICreateTypeLib *This,DWORD dwHelpContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetLcid)(ICreateTypeLib *This,LCID lcid);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetLibFlags)(ICreateTypeLib *This,UINT uLibFlags);") | 
|  | cpp_quote("      HRESULT (WINAPI *SaveAllChanges)(ICreateTypeLib *This);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ICreateTypeLibVtbl;") | 
|  | cpp_quote("  struct ICreateTypeLib {") | 
|  | cpp_quote("    CONST_VTBL struct ICreateTypeLibVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ICreateTypeLib_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ICreateTypeLib_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ICreateTypeLib_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ICreateTypeLib_CreateTypeInfo(This,szName,tkind,ppCTInfo) (This)->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo)") | 
|  | cpp_quote("#define ICreateTypeLib_SetName(This,szName) (This)->lpVtbl->SetName(This,szName)") | 
|  | cpp_quote("#define ICreateTypeLib_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum)") | 
|  | cpp_quote("#define ICreateTypeLib_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid)") | 
|  | cpp_quote("#define ICreateTypeLib_SetDocString(This,szDoc) (This)->lpVtbl->SetDocString(This,szDoc)") | 
|  | cpp_quote("#define ICreateTypeLib_SetHelpFileName(This,szHelpFileName) (This)->lpVtbl->SetHelpFileName(This,szHelpFileName)") | 
|  | cpp_quote("#define ICreateTypeLib_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext)") | 
|  | cpp_quote("#define ICreateTypeLib_SetLcid(This,lcid) (This)->lpVtbl->SetLcid(This,lcid)") | 
|  | cpp_quote("#define ICreateTypeLib_SetLibFlags(This,uLibFlags) (This)->lpVtbl->SetLibFlags(This,uLibFlags)") | 
|  | cpp_quote("#define ICreateTypeLib_SaveAllChanges(This) (This)->lpVtbl->SaveAllChanges(This)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_CreateTypeInfo_Proxy(ICreateTypeLib *This,LPOLESTR szName,TYPEKIND tkind,ICreateTypeInfo **ppCTInfo);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SetName_Proxy(ICreateTypeLib *This,LPOLESTR szName);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SetVersion_Proxy(ICreateTypeLib *This,WORD wMajorVerNum,WORD wMinorVerNum);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SetVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SetGuid_Proxy(ICreateTypeLib *This,REFGUID guid);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SetGuid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SetDocString_Proxy(ICreateTypeLib *This,LPOLESTR szDoc);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SetDocString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SetHelpFileName_Proxy(ICreateTypeLib *This,LPOLESTR szHelpFileName);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SetHelpContext_Proxy(ICreateTypeLib *This,DWORD dwHelpContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SetLcid_Proxy(ICreateTypeLib *This,LCID lcid);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SetLcid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SetLibFlags_Proxy(ICreateTypeLib *This,UINT uLibFlags);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib_SaveAllChanges_Proxy(ICreateTypeLib *This);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ICreateTypeLib2_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ICreateTypeLib2_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef ICreateTypeLib2 *LPCREATETYPELIB2;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ICreateTypeLib2;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ICreateTypeLib2 : public ICreateTypeLib {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI DeleteTypeInfo(LPOLESTR szName) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetCustData(REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetHelpStringContext(ULONG dwHelpStringContext) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetHelpStringDll(LPOLESTR szFileName) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ICreateTypeLib2Vtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ICreateTypeLib2 *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ICreateTypeLib2 *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ICreateTypeLib2 *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *CreateTypeInfo)(ICreateTypeLib2 *This,LPOLESTR szName,TYPEKIND tkind,ICreateTypeInfo **ppCTInfo);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetName)(ICreateTypeLib2 *This,LPOLESTR szName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetVersion)(ICreateTypeLib2 *This,WORD wMajorVerNum,WORD wMinorVerNum);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetGuid)(ICreateTypeLib2 *This,REFGUID guid);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetDocString)(ICreateTypeLib2 *This,LPOLESTR szDoc);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpFileName)(ICreateTypeLib2 *This,LPOLESTR szHelpFileName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpContext)(ICreateTypeLib2 *This,DWORD dwHelpContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetLcid)(ICreateTypeLib2 *This,LCID lcid);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetLibFlags)(ICreateTypeLib2 *This,UINT uLibFlags);") | 
|  | cpp_quote("      HRESULT (WINAPI *SaveAllChanges)(ICreateTypeLib2 *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *DeleteTypeInfo)(ICreateTypeLib2 *This,LPOLESTR szName);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetCustData)(ICreateTypeLib2 *This,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpStringContext)(ICreateTypeLib2 *This,ULONG dwHelpStringContext);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpStringDll)(ICreateTypeLib2 *This,LPOLESTR szFileName);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ICreateTypeLib2Vtbl;") | 
|  | cpp_quote("  struct ICreateTypeLib2 {") | 
|  | cpp_quote("    CONST_VTBL struct ICreateTypeLib2Vtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ICreateTypeLib2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ICreateTypeLib2_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ICreateTypeLib2_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ICreateTypeLib2_CreateTypeInfo(This,szName,tkind,ppCTInfo) (This)->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetName(This,szName) (This)->lpVtbl->SetName(This,szName)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetDocString(This,szDoc) (This)->lpVtbl->SetDocString(This,szDoc)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetHelpFileName(This,szHelpFileName) (This)->lpVtbl->SetHelpFileName(This,szHelpFileName)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetLcid(This,lcid) (This)->lpVtbl->SetLcid(This,lcid)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetLibFlags(This,uLibFlags) (This)->lpVtbl->SetLibFlags(This,uLibFlags)") | 
|  | cpp_quote("#define ICreateTypeLib2_SaveAllChanges(This) (This)->lpVtbl->SaveAllChanges(This)") | 
|  | cpp_quote("#define ICreateTypeLib2_DeleteTypeInfo(This,szName) (This)->lpVtbl->DeleteTypeInfo(This,szName)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetCustData(This,guid,pVarVal) (This)->lpVtbl->SetCustData(This,guid,pVarVal)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetHelpStringContext(This,dwHelpStringContext) (This)->lpVtbl->SetHelpStringContext(This,dwHelpStringContext)") | 
|  | cpp_quote("#define ICreateTypeLib2_SetHelpStringDll(This,szFileName) (This)->lpVtbl->SetHelpStringDll(This,szFileName)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib2_DeleteTypeInfo_Proxy(ICreateTypeLib2 *This,LPOLESTR szName);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib2_SetCustData_Proxy(ICreateTypeLib2 *This,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib2_SetCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib2_SetHelpStringContext_Proxy(ICreateTypeLib2 *This,ULONG dwHelpStringContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateTypeLib2_SetHelpStringDll_Proxy(ICreateTypeLib2 *This,LPOLESTR szFileName);") | 
|  | cpp_quote("  void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(00020400-0000-0000-c000-000000000046), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IDispatch : IUnknown | 
|  | { | 
|  | typedef [unique] IDispatch *LPDISPATCH; | 
|  |  | 
|  | HRESULT GetTypeInfoCount([out] UINT *pctinfo); | 
|  |  | 
|  | HRESULT GetTypeInfo( | 
|  | [in] UINT iTInfo, | 
|  | [in] LCID lcid, | 
|  | [out] ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT GetIDsOfNames( | 
|  | [in] REFIID riid, | 
|  | [in, size_is(cNames)] LPOLESTR *rgszNames, | 
|  | [in, range(0, 16384)] UINT cNames, | 
|  | [in] LCID lcid, | 
|  | [out, size_is(cNames)] DISPID *rgDispId); | 
|  |  | 
|  | [local] HRESULT Invoke( | 
|  | [in] DISPID dispIdMember, | 
|  | [in] REFIID riid, | 
|  | [in] LCID lcid, | 
|  | [in] WORD wFlags, | 
|  | [in, out] DISPPARAMS *pDispParams, | 
|  | [out] VARIANT *pVarResult, | 
|  | [out] EXCEPINFO *pExcepInfo, | 
|  | [out] UINT *puArgErr); | 
|  |  | 
|  | [call_as(Invoke)] HRESULT RemoteInvoke( | 
|  | [in] DISPID dispIdMember, | 
|  | [in] REFIID riid, | 
|  | [in] LCID lcid, | 
|  | [in] DWORD dwFlags, | 
|  | [in] DISPPARAMS *pDispParams, | 
|  | [out] VARIANT *pVarResult, | 
|  | [out] EXCEPINFO *pExcepInfo, | 
|  | [out] UINT *pArgErr, | 
|  | [in] UINT cVarRef, | 
|  | [in, size_is(cVarRef)] UINT *rgVarRefIdx, | 
|  | [in, out, size_is(cVarRef)] VARIANTARG *rgVarRef); | 
|  |  | 
|  | const DISPID DISPID_UNKNOWN = -1; | 
|  | const DISPID DISPID_VALUE = 0; | 
|  | const DISPID DISPID_PROPERTYPUT = -3; | 
|  | const DISPID DISPID_NEWENUM = -4; | 
|  | const DISPID DISPID_EVALUATE = -5; | 
|  | const DISPID DISPID_CONSTRUCTOR = -6; | 
|  | const DISPID DISPID_DESTRUCTOR = -7; | 
|  | const DISPID DISPID_COLLECT = -8; | 
|  | } | 
|  |  | 
|  | cpp_quote("#ifndef __IEnumVARIANT_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __IEnumVARIANT_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef IEnumVARIANT *LPENUMVARIANT;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_IEnumVARIANT;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct IEnumVARIANT : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI Next(ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI Skip(ULONG celt) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI Reset(void) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI Clone(IEnumVARIANT **ppEnum) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct IEnumVARIANTVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(IEnumVARIANT *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(IEnumVARIANT *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(IEnumVARIANT *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *Next)(IEnumVARIANT *This,ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched);") | 
|  | cpp_quote("      HRESULT (WINAPI *Skip)(IEnumVARIANT *This,ULONG celt);") | 
|  | cpp_quote("      HRESULT (WINAPI *Reset)(IEnumVARIANT *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *Clone)(IEnumVARIANT *This,IEnumVARIANT **ppEnum);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } IEnumVARIANTVtbl;") | 
|  | cpp_quote("  struct IEnumVARIANT {") | 
|  | cpp_quote("    CONST_VTBL struct IEnumVARIANTVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define IEnumVARIANT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define IEnumVARIANT_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define IEnumVARIANT_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define IEnumVARIANT_Next(This,celt,rgVar,pCeltFetched) (This)->lpVtbl->Next(This,celt,rgVar,pCeltFetched)") | 
|  | cpp_quote("#define IEnumVARIANT_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)") | 
|  | cpp_quote("#define IEnumVARIANT_Reset(This) (This)->lpVtbl->Reset(This)") | 
|  | cpp_quote("#define IEnumVARIANT_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI IEnumVARIANT_RemoteNext_Proxy(IEnumVARIANT *This,ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched);") | 
|  | cpp_quote("  void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IEnumVARIANT_Skip_Proxy(IEnumVARIANT *This,ULONG celt);") | 
|  | cpp_quote("  void __RPC_STUB IEnumVARIANT_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IEnumVARIANT_Reset_Proxy(IEnumVARIANT *This);") | 
|  | cpp_quote("  void __RPC_STUB IEnumVARIANT_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IEnumVARIANT_Clone_Proxy(IEnumVARIANT *This,IEnumVARIANT **ppEnum);") | 
|  | cpp_quote("  void __RPC_STUB IEnumVARIANT_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(00020403-0000-0000-c000-000000000046), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface ITypeComp : IUnknown | 
|  | { | 
|  | typedef [unique] ITypeComp *LPTYPECOMP; | 
|  |  | 
|  | typedef [v1_enum] enum tagDESCKIND { | 
|  | DESCKIND_NONE = 0, | 
|  | DESCKIND_FUNCDESC, | 
|  | DESCKIND_VARDESC, | 
|  | DESCKIND_TYPECOMP, | 
|  | DESCKIND_IMPLICITAPPOBJ, | 
|  | DESCKIND_MAX | 
|  | } DESCKIND; | 
|  |  | 
|  | typedef union tagBINDPTR { | 
|  | FUNCDESC *lpfuncdesc; | 
|  | VARDESC *lpvardesc; | 
|  | ITypeComp *lptcomp; | 
|  | } BINDPTR, *LPBINDPTR; | 
|  |  | 
|  | [local] | 
|  | HRESULT Bind( | 
|  | [in] LPOLESTR szName, | 
|  | [in] ULONG lHashVal, | 
|  | [in] WORD wFlags, | 
|  | [out] ITypeInfo **ppTInfo, | 
|  | [out] DESCKIND *pDescKind, | 
|  | [out] BINDPTR *pBindPtr); | 
|  | [call_as(Bind)] | 
|  | HRESULT RemoteBind( | 
|  | [in] LPOLESTR szName, | 
|  | [in] ULONG lHashVal, | 
|  | [in] WORD wFlags, | 
|  | [out] ITypeInfo **ppTInfo, | 
|  | [out] DESCKIND *pDescKind, | 
|  | [out] LPFUNCDESC *ppFuncDesc, | 
|  | [out] LPVARDESC *ppVarDesc, | 
|  | [out] ITypeComp **ppTypeComp, | 
|  | [out] CLEANLOCALSTORAGE *pDummy); | 
|  |  | 
|  | [local] | 
|  | HRESULT BindType( | 
|  | [in] LPOLESTR szName, | 
|  | [in] ULONG lHashVal, | 
|  | [out] ITypeInfo **ppTInfo, | 
|  | [out] ITypeComp **ppTComp); | 
|  | [call_as(BindType)] | 
|  | HRESULT RemoteBindType( | 
|  | [in] LPOLESTR szName, | 
|  | [in] ULONG lHashVal, | 
|  | [out] ITypeInfo **ppTInfo); | 
|  | } | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(00020401-0000-0000-c000-000000000046), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface ITypeInfo : IUnknown | 
|  | { | 
|  | typedef [unique] ITypeInfo *LPTYPEINFO; | 
|  |  | 
|  | [local] | 
|  | HRESULT GetTypeAttr( | 
|  | [out] TYPEATTR **ppTypeAttr); | 
|  | [call_as(GetTypeAttr)] | 
|  | HRESULT RemoteGetTypeAttr( | 
|  | [out] LPTYPEATTR *ppTypeAttr, | 
|  | [out] CLEANLOCALSTORAGE *pDummy); | 
|  |  | 
|  | HRESULT GetTypeComp([out] ITypeComp **ppTComp); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetFuncDesc( | 
|  | [in] UINT index, | 
|  | [out] FUNCDESC **ppFuncDesc); | 
|  | [call_as(GetFuncDesc)] | 
|  | HRESULT RemoteGetFuncDesc( | 
|  | [in] UINT index, | 
|  | [out] LPFUNCDESC *ppFuncDesc, | 
|  | [out] CLEANLOCALSTORAGE *pDummy); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetVarDesc( | 
|  | [in] UINT index, | 
|  | [out] VARDESC **ppVarDesc); | 
|  | [call_as(GetVarDesc)] | 
|  | HRESULT RemoteGetVarDesc( | 
|  | [in] UINT index, | 
|  | [out] LPVARDESC *ppVarDesc, | 
|  | [out] CLEANLOCALSTORAGE *pDummy); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetNames( | 
|  | [in] MEMBERID memid, | 
|  | [out,size_is(cMaxNames),length_is(*pcNames)] BSTR *rgBstrNames, | 
|  | [in] UINT cMaxNames, | 
|  | [out] UINT *pcNames); | 
|  | [call_as(GetNames)] | 
|  | HRESULT RemoteGetNames( | 
|  | [in] MEMBERID memid, | 
|  | [out, size_is(cMaxNames), length_is(*pcNames)] BSTR *rgBstrNames, | 
|  | [in] UINT cMaxNames, | 
|  | [out] UINT *pcNames); | 
|  |  | 
|  | HRESULT GetRefTypeOfImplType( | 
|  | [in] UINT index, | 
|  | [out] HREFTYPE *pRefType); | 
|  |  | 
|  | HRESULT GetImplTypeFlags( | 
|  | [in] UINT index, | 
|  | [out] INT *pImplTypeFlags); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetIDsOfNames( | 
|  | [in, size_is(cNames)] LPOLESTR *rgszNames, | 
|  | [in] UINT cNames, | 
|  | [out, size_is(cNames)] MEMBERID *pMemId); | 
|  | [call_as(GetIDsOfNames)] | 
|  | HRESULT LocalGetIDsOfNames(); | 
|  |  | 
|  | [local] | 
|  | HRESULT Invoke( | 
|  | [in] PVOID pvInstance, | 
|  | [in] MEMBERID memid, | 
|  | [in] WORD wFlags, | 
|  | [in, out] DISPPARAMS *pDispParams, | 
|  | [out] VARIANT *pVarResult, | 
|  | [out] EXCEPINFO *pExcepInfo, | 
|  | [out] UINT *puArgErr); | 
|  | [call_as(Invoke)] | 
|  | HRESULT LocalInvoke (); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetDocumentation( | 
|  | [in] MEMBERID memid, | 
|  | [out] BSTR *pBstrName, | 
|  | [out] BSTR *pBstrDocString, | 
|  | [out] DWORD *pdwHelpContext, | 
|  | [out] BSTR *pBstrHelpFile); | 
|  | [call_as(GetDocumentation)] | 
|  | HRESULT RemoteGetDocumentation( | 
|  | [in] MEMBERID memid, | 
|  | [in] DWORD refPtrFlags, | 
|  | [out] BSTR *pBstrName, | 
|  | [out] BSTR *pBstrDocString, | 
|  | [out] DWORD *pdwHelpContext, | 
|  | [out] BSTR *pBstrHelpFile); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetDllEntry( | 
|  | [in] MEMBERID memid, | 
|  | [in] INVOKEKIND invKind, | 
|  | [out] BSTR *pBstrDllName, | 
|  | [out] BSTR *pBstrName, | 
|  | [out] WORD *pwOrdinal); | 
|  | [call_as(GetDllEntry)] | 
|  | HRESULT RemoteGetDllEntry( | 
|  | [in] MEMBERID memid, | 
|  | [in] INVOKEKIND invKind, | 
|  | [in] DWORD refPtrFlags, | 
|  | [out] BSTR *pBstrDllName, | 
|  | [out] BSTR *pBstrName, | 
|  | [out] WORD *pwOrdinal); | 
|  |  | 
|  | HRESULT GetRefTypeInfo( | 
|  | [in] HREFTYPE hRefType, | 
|  | [out] ITypeInfo **ppTInfo); | 
|  |  | 
|  | [local] | 
|  | HRESULT AddressOfMember( | 
|  | [in] MEMBERID memid, | 
|  | [in] INVOKEKIND invKind, | 
|  | [out] PVOID *ppv); | 
|  | [call_as(AddressOfMember)] | 
|  | HRESULT LocalAddressOfMember(); | 
|  |  | 
|  | [local] | 
|  | HRESULT CreateInstance( | 
|  | [in] IUnknown *pUnkOuter, | 
|  | [in] REFIID riid, | 
|  | [out, iid_is(riid)] PVOID *ppvObj); | 
|  | [call_as(CreateInstance)] | 
|  | HRESULT RemoteCreateInstance( | 
|  | [in] REFIID riid, | 
|  | [out, iid_is(riid)] IUnknown **ppvObj); | 
|  |  | 
|  | HRESULT GetMops( | 
|  | [in] MEMBERID memid, | 
|  | [out] BSTR *pBstrMops); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetContainingTypeLib( | 
|  | [out] ITypeLib **ppTLib, | 
|  | [out] UINT *pIndex); | 
|  | [call_as(GetContainingTypeLib)] | 
|  | HRESULT RemoteGetContainingTypeLib( | 
|  | [out] ITypeLib **ppTLib, | 
|  | [out] UINT *pIndex); | 
|  |  | 
|  | [local] | 
|  | void ReleaseTypeAttr([in] TYPEATTR *pTypeAttr); | 
|  | [call_as(ReleaseTypeAttr)] | 
|  | HRESULT LocalReleaseTypeAttr(); | 
|  |  | 
|  | [local] | 
|  | void ReleaseFuncDesc([in] FUNCDESC *pFuncDesc); | 
|  | [call_as(ReleaseFuncDesc)] | 
|  | HRESULT LocalReleaseFuncDesc(); | 
|  |  | 
|  | [local] | 
|  | void ReleaseVarDesc([in] VARDESC *pVarDesc); | 
|  | [call_as(ReleaseVarDesc)] | 
|  | HRESULT LocalReleaseVarDesc(); | 
|  | } | 
|  |  | 
|  | cpp_quote("#ifndef __ITypeInfo2_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ITypeInfo2_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef ITypeInfo2 *LPTYPEINFO2;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ITypeInfo2;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ITypeInfo2 : public ITypeInfo {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetTypeKind(TYPEKIND *pTypeKind) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetTypeFlags(ULONG *pTypeFlags) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetFuncIndexOfMemId(MEMBERID memid,INVOKEKIND invKind,UINT *pFuncIndex) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetVarIndexOfMemId(MEMBERID memid,UINT *pVarIndex) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetCustData(REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetFuncCustData(UINT index,REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetParamCustData(UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetVarCustData(UINT index,REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetImplTypeCustData(UINT index,REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetDocumentation2(MEMBERID memid,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetAllCustData(CUSTDATA *pCustData) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetAllFuncCustData(UINT index,CUSTDATA *pCustData) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetAllParamCustData(UINT indexFunc,UINT indexParam,CUSTDATA *pCustData) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetAllVarCustData(UINT index,CUSTDATA *pCustData) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetAllImplTypeCustData(UINT index,CUSTDATA *pCustData) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ITypeInfo2Vtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ITypeInfo2 *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ITypeInfo2 *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ITypeInfo2 *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeAttr)(ITypeInfo2 *This,TYPEATTR **ppTypeAttr);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeComp)(ITypeInfo2 *This,ITypeComp **ppTComp);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetFuncDesc)(ITypeInfo2 *This,UINT index,FUNCDESC **ppFuncDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetVarDesc)(ITypeInfo2 *This,UINT index,VARDESC **ppVarDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetNames)(ITypeInfo2 *This,MEMBERID memid,BSTR *rgBstrNames,UINT cMaxNames,UINT *pcNames);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetRefTypeOfImplType)(ITypeInfo2 *This,UINT index,HREFTYPE *pRefType);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetImplTypeFlags)(ITypeInfo2 *This,UINT index,INT *pImplTypeFlags);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetIDsOfNames)(ITypeInfo2 *This,LPOLESTR *rgszNames,UINT cNames,MEMBERID *pMemId);") | 
|  | cpp_quote("      HRESULT (WINAPI *Invoke)(ITypeInfo2 *This,PVOID pvInstance,MEMBERID memid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetDocumentation)(ITypeInfo2 *This,MEMBERID memid,BSTR *pBstrName,BSTR *pBstrDocString,DWORD *pdwHelpContext,BSTR *pBstrHelpFile);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetDllEntry)(ITypeInfo2 *This,MEMBERID memid,INVOKEKIND invKind,BSTR *pBstrDllName,BSTR *pBstrName,WORD *pwOrdinal);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetRefTypeInfo)(ITypeInfo2 *This,HREFTYPE hRefType,ITypeInfo **ppTInfo);") | 
|  | cpp_quote("      HRESULT (WINAPI *AddressOfMember)(ITypeInfo2 *This,MEMBERID memid,INVOKEKIND invKind,PVOID *ppv);") | 
|  | cpp_quote("      HRESULT (WINAPI *CreateInstance)(ITypeInfo2 *This,IUnknown *pUnkOuter,REFIID riid,PVOID *ppvObj);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetMops)(ITypeInfo2 *This,MEMBERID memid,BSTR *pBstrMops);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetContainingTypeLib)(ITypeInfo2 *This,ITypeLib **ppTLib,UINT *pIndex);") | 
|  | cpp_quote("      void (WINAPI *ReleaseTypeAttr)(ITypeInfo2 *This,TYPEATTR *pTypeAttr);") | 
|  | cpp_quote("      void (WINAPI *ReleaseFuncDesc)(ITypeInfo2 *This,FUNCDESC *pFuncDesc);") | 
|  | cpp_quote("      void (WINAPI *ReleaseVarDesc)(ITypeInfo2 *This,VARDESC *pVarDesc);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeKind)(ITypeInfo2 *This,TYPEKIND *pTypeKind);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeFlags)(ITypeInfo2 *This,ULONG *pTypeFlags);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetFuncIndexOfMemId)(ITypeInfo2 *This,MEMBERID memid,INVOKEKIND invKind,UINT *pFuncIndex);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetVarIndexOfMemId)(ITypeInfo2 *This,MEMBERID memid,UINT *pVarIndex);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetCustData)(ITypeInfo2 *This,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetFuncCustData)(ITypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetParamCustData)(ITypeInfo2 *This,UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetVarCustData)(ITypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetImplTypeCustData)(ITypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetDocumentation2)(ITypeInfo2 *This,MEMBERID memid,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetAllCustData)(ITypeInfo2 *This,CUSTDATA *pCustData);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetAllFuncCustData)(ITypeInfo2 *This,UINT index,CUSTDATA *pCustData);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetAllParamCustData)(ITypeInfo2 *This,UINT indexFunc,UINT indexParam,CUSTDATA *pCustData);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetAllVarCustData)(ITypeInfo2 *This,UINT index,CUSTDATA *pCustData);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetAllImplTypeCustData)(ITypeInfo2 *This,UINT index,CUSTDATA *pCustData);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ITypeInfo2Vtbl;") | 
|  | cpp_quote("  struct ITypeInfo2 {") | 
|  | cpp_quote("    CONST_VTBL struct ITypeInfo2Vtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ITypeInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ITypeInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ITypeInfo2_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ITypeInfo2_GetTypeAttr(This,ppTypeAttr) (This)->lpVtbl->GetTypeAttr(This,ppTypeAttr)") | 
|  | cpp_quote("#define ITypeInfo2_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp)") | 
|  | cpp_quote("#define ITypeInfo2_GetFuncDesc(This,index,ppFuncDesc) (This)->lpVtbl->GetFuncDesc(This,index,ppFuncDesc)") | 
|  | cpp_quote("#define ITypeInfo2_GetVarDesc(This,index,ppVarDesc) (This)->lpVtbl->GetVarDesc(This,index,ppVarDesc)") | 
|  | cpp_quote("#define ITypeInfo2_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) (This)->lpVtbl->GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)") | 
|  | cpp_quote("#define ITypeInfo2_GetRefTypeOfImplType(This,index,pRefType) (This)->lpVtbl->GetRefTypeOfImplType(This,index,pRefType)") | 
|  | cpp_quote("#define ITypeInfo2_GetImplTypeFlags(This,index,pImplTypeFlags) (This)->lpVtbl->GetImplTypeFlags(This,index,pImplTypeFlags)") | 
|  | cpp_quote("#define ITypeInfo2_GetIDsOfNames(This,rgszNames,cNames,pMemId) (This)->lpVtbl->GetIDsOfNames(This,rgszNames,cNames,pMemId)") | 
|  | cpp_quote("#define ITypeInfo2_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)") | 
|  | cpp_quote("#define ITypeInfo2_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)") | 
|  | cpp_quote("#define ITypeInfo2_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) (This)->lpVtbl->GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)") | 
|  | cpp_quote("#define ITypeInfo2_GetRefTypeInfo(This,hRefType,ppTInfo) (This)->lpVtbl->GetRefTypeInfo(This,hRefType,ppTInfo)") | 
|  | cpp_quote("#define ITypeInfo2_AddressOfMember(This,memid,invKind,ppv) (This)->lpVtbl->AddressOfMember(This,memid,invKind,ppv)") | 
|  | cpp_quote("#define ITypeInfo2_CreateInstance(This,pUnkOuter,riid,ppvObj) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObj)") | 
|  | cpp_quote("#define ITypeInfo2_GetMops(This,memid,pBstrMops) (This)->lpVtbl->GetMops(This,memid,pBstrMops)") | 
|  | cpp_quote("#define ITypeInfo2_GetContainingTypeLib(This,ppTLib,pIndex) (This)->lpVtbl->GetContainingTypeLib(This,ppTLib,pIndex)") | 
|  | cpp_quote("#define ITypeInfo2_ReleaseTypeAttr(This,pTypeAttr) (This)->lpVtbl->ReleaseTypeAttr(This,pTypeAttr)") | 
|  | cpp_quote("#define ITypeInfo2_ReleaseFuncDesc(This,pFuncDesc) (This)->lpVtbl->ReleaseFuncDesc(This,pFuncDesc)") | 
|  | cpp_quote("#define ITypeInfo2_ReleaseVarDesc(This,pVarDesc) (This)->lpVtbl->ReleaseVarDesc(This,pVarDesc)") | 
|  | cpp_quote("#define ITypeInfo2_GetTypeKind(This,pTypeKind) (This)->lpVtbl->GetTypeKind(This,pTypeKind)") | 
|  | cpp_quote("#define ITypeInfo2_GetTypeFlags(This,pTypeFlags) (This)->lpVtbl->GetTypeFlags(This,pTypeFlags)") | 
|  | cpp_quote("#define ITypeInfo2_GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex) (This)->lpVtbl->GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex)") | 
|  | cpp_quote("#define ITypeInfo2_GetVarIndexOfMemId(This,memid,pVarIndex) (This)->lpVtbl->GetVarIndexOfMemId(This,memid,pVarIndex)") | 
|  | cpp_quote("#define ITypeInfo2_GetCustData(This,guid,pVarVal) (This)->lpVtbl->GetCustData(This,guid,pVarVal)") | 
|  | cpp_quote("#define ITypeInfo2_GetFuncCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetFuncCustData(This,index,guid,pVarVal)") | 
|  | cpp_quote("#define ITypeInfo2_GetParamCustData(This,indexFunc,indexParam,guid,pVarVal) (This)->lpVtbl->GetParamCustData(This,indexFunc,indexParam,guid,pVarVal)") | 
|  | cpp_quote("#define ITypeInfo2_GetVarCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetVarCustData(This,index,guid,pVarVal)") | 
|  | cpp_quote("#define ITypeInfo2_GetImplTypeCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetImplTypeCustData(This,index,guid,pVarVal)") | 
|  | cpp_quote("#define ITypeInfo2_GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) (This)->lpVtbl->GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)") | 
|  | cpp_quote("#define ITypeInfo2_GetAllCustData(This,pCustData) (This)->lpVtbl->GetAllCustData(This,pCustData)") | 
|  | cpp_quote("#define ITypeInfo2_GetAllFuncCustData(This,index,pCustData) (This)->lpVtbl->GetAllFuncCustData(This,index,pCustData)") | 
|  | cpp_quote("#define ITypeInfo2_GetAllParamCustData(This,indexFunc,indexParam,pCustData) (This)->lpVtbl->GetAllParamCustData(This,indexFunc,indexParam,pCustData)") | 
|  | cpp_quote("#define ITypeInfo2_GetAllVarCustData(This,index,pCustData) (This)->lpVtbl->GetAllVarCustData(This,index,pCustData)") | 
|  | cpp_quote("#define ITypeInfo2_GetAllImplTypeCustData(This,index,pCustData) (This)->lpVtbl->GetAllImplTypeCustData(This,index,pCustData)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetTypeKind_Proxy(ITypeInfo2 *This,TYPEKIND *pTypeKind);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetTypeFlags_Proxy(ITypeInfo2 *This,ULONG *pTypeFlags);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetFuncIndexOfMemId_Proxy(ITypeInfo2 *This,MEMBERID memid,INVOKEKIND invKind,UINT *pFuncIndex);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetVarIndexOfMemId_Proxy(ITypeInfo2 *This,MEMBERID memid,UINT *pVarIndex);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetCustData_Proxy(ITypeInfo2 *This,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetFuncCustData_Proxy(ITypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetParamCustData_Proxy(ITypeInfo2 *This,UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetVarCustData_Proxy(ITypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetImplTypeCustData_Proxy(ITypeInfo2 *This,UINT index,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_RemoteGetDocumentation2_Proxy(ITypeInfo2 *This,MEMBERID memid,LCID lcid,DWORD refPtrFlags,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetAllCustData_Proxy(ITypeInfo2 *This,CUSTDATA *pCustData);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetAllFuncCustData_Proxy(ITypeInfo2 *This,UINT index,CUSTDATA *pCustData);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetAllParamCustData_Proxy(ITypeInfo2 *This,UINT indexFunc,UINT indexParam,CUSTDATA *pCustData);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetAllVarCustData_Proxy(ITypeInfo2 *This,UINT index,CUSTDATA *pCustData);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetAllImplTypeCustData_Proxy(ITypeInfo2 *This,UINT index,CUSTDATA *pCustData);") | 
|  | cpp_quote("  void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(00020402-0000-0000-c000-000000000046), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface ITypeLib : IUnknown | 
|  | { | 
|  | typedef [unique] ITypeLib *LPTYPELIB; | 
|  |  | 
|  | typedef [v1_enum] enum tagSYSKIND { | 
|  | SYS_WIN16 = 0, | 
|  | SYS_WIN32, | 
|  | SYS_MAC, | 
|  | SYS_WIN64 | 
|  | } SYSKIND; | 
|  |  | 
|  | typedef [v1_enum] enum tagLIBFLAGS { | 
|  | LIBFLAG_FRESTRICTED   = 0x01, | 
|  | LIBFLAG_FCONTROL      = 0x02, | 
|  | LIBFLAG_FHIDDEN       = 0x04, | 
|  | LIBFLAG_FHASDISKIMAGE = 0x08 | 
|  | } LIBFLAGS; | 
|  |  | 
|  | typedef struct tagTLIBATTR { | 
|  | GUID guid; | 
|  | LCID lcid; | 
|  | SYSKIND syskind; | 
|  | WORD wMajorVerNum; | 
|  | WORD wMinorVerNum; | 
|  | WORD wLibFlags; | 
|  | } TLIBATTR, *LPTLIBATTR; | 
|  |  | 
|  | [local] | 
|  | UINT GetTypeInfoCount(); | 
|  | [call_as(GetTypeInfoCount)] | 
|  | HRESULT RemoteGetTypeInfoCount([out] UINT *pcTInfo); | 
|  |  | 
|  | HRESULT GetTypeInfo( | 
|  | [in] UINT index, | 
|  | [out] ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT GetTypeInfoType( | 
|  | [in] UINT index, | 
|  | [out] TYPEKIND *pTKind); | 
|  |  | 
|  | HRESULT GetTypeInfoOfGuid( | 
|  | [in] REFGUID guid, | 
|  | [out] ITypeInfo **ppTinfo); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetLibAttr( | 
|  | [out] TLIBATTR **ppTLibAttr); | 
|  | [call_as(GetLibAttr)] | 
|  | HRESULT RemoteGetLibAttr( | 
|  | [out] LPTLIBATTR *ppTLibAttr, | 
|  | [out] CLEANLOCALSTORAGE *pDummy); | 
|  |  | 
|  | HRESULT GetTypeComp( | 
|  | [out] ITypeComp **ppTComp); | 
|  |  | 
|  | [local] | 
|  | HRESULT GetDocumentation( | 
|  | [in] INT index, | 
|  | [out] BSTR *pBstrName, | 
|  | [out] BSTR *pBstrDocString, | 
|  | [out] DWORD *pdwHelpContext, | 
|  | [out] BSTR *pBstrHelpFile); | 
|  | [call_as(GetDocumentation)] | 
|  | HRESULT RemoteGetDocumentation( | 
|  | [in] INT index, | 
|  | [in] DWORD refPtrFlags, | 
|  | [out] BSTR *pBstrName, | 
|  | [out] BSTR *pBstrDocString, | 
|  | [out] DWORD *pdwHelpContext, | 
|  | [out] BSTR *pBstrHelpFile); | 
|  |  | 
|  | [local] | 
|  | HRESULT IsName( | 
|  | [in, out] LPOLESTR szNameBuf, | 
|  | [in] ULONG lHashVal, | 
|  | [out] BOOL *pfName); | 
|  | [call_as(IsName)] | 
|  | HRESULT RemoteIsName( | 
|  | [in] LPOLESTR szNameBuf, | 
|  | [in] ULONG lHashVal, | 
|  | [out] BOOL *pfName, | 
|  | [out] BSTR *pBstrLibName); | 
|  |  | 
|  | [local] | 
|  | HRESULT FindName( | 
|  | [in, out] LPOLESTR szNameBuf, | 
|  | [in] ULONG lHashVal, | 
|  | [out, size_is(*pcFound), length_is(*pcFound)] ITypeInfo **ppTInfo, | 
|  | [out, size_is(*pcFound), length_is(*pcFound)] MEMBERID *rgMemId, | 
|  | [in, out] USHORT *pcFound); | 
|  | [call_as(FindName)] | 
|  | HRESULT RemoteFindName( | 
|  | [in] LPOLESTR szNameBuf, | 
|  | [in] ULONG lHashVal, | 
|  | [out, size_is(*pcFound), length_is(*pcFound)] ITypeInfo **ppTInfo, | 
|  | [out, size_is(*pcFound), length_is(*pcFound)] MEMBERID *rgMemId, | 
|  | [in, out] USHORT *pcFound, | 
|  | [out] BSTR *pBstrLibName); | 
|  |  | 
|  | [local] | 
|  | void ReleaseTLibAttr([in] TLIBATTR *pTLibAttr); | 
|  | [call_as(ReleaseTLibAttr)] | 
|  | HRESULT LocalReleaseTLibAttr(); | 
|  | } | 
|  |  | 
|  | cpp_quote("#ifndef __ITypeLib2_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ITypeLib2_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef ITypeLib2 *LPTYPELIB2;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ITypeLib2;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ITypeLib2 : public ITypeLib {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetCustData(REFGUID guid,VARIANT *pVarVal) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetLibStatistics(ULONG *pcUniqueNames,ULONG *pcchUniqueNames) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetDocumentation2(INT index,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetAllCustData(CUSTDATA *pCustData) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ITypeLib2Vtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ITypeLib2 *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ITypeLib2 *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ITypeLib2 *This);") | 
|  | cpp_quote("      UINT (WINAPI *GetTypeInfoCount)(ITypeLib2 *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeInfo)(ITypeLib2 *This,UINT index,ITypeInfo **ppTInfo);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeInfoType)(ITypeLib2 *This,UINT index,TYPEKIND *pTKind);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeInfoOfGuid)(ITypeLib2 *This,REFGUID guid,ITypeInfo **ppTinfo);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetLibAttr)(ITypeLib2 *This,TLIBATTR **ppTLibAttr);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeComp)(ITypeLib2 *This,ITypeComp **ppTComp);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetDocumentation)(ITypeLib2 *This,INT index,BSTR *pBstrName,BSTR *pBstrDocString,DWORD *pdwHelpContext,BSTR *pBstrHelpFile);") | 
|  | cpp_quote("      HRESULT (WINAPI *IsName)(ITypeLib2 *This,LPOLESTR szNameBuf,ULONG lHashVal,WINBOOL *pfName);") | 
|  | cpp_quote("      HRESULT (WINAPI *FindName)(ITypeLib2 *This,LPOLESTR szNameBuf,ULONG lHashVal,ITypeInfo **ppTInfo,MEMBERID *rgMemId,USHORT *pcFound);") | 
|  | cpp_quote("      void (WINAPI *ReleaseTLibAttr)(ITypeLib2 *This,TLIBATTR *pTLibAttr);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetCustData)(ITypeLib2 *This,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetLibStatistics)(ITypeLib2 *This,ULONG *pcUniqueNames,ULONG *pcchUniqueNames);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetDocumentation2)(ITypeLib2 *This,INT index,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetAllCustData)(ITypeLib2 *This,CUSTDATA *pCustData);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ITypeLib2Vtbl;") | 
|  | cpp_quote("  struct ITypeLib2 {") | 
|  | cpp_quote("    CONST_VTBL struct ITypeLib2Vtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ITypeLib2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ITypeLib2_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ITypeLib2_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ITypeLib2_GetTypeInfoCount(This) (This)->lpVtbl->GetTypeInfoCount(This)") | 
|  | cpp_quote("#define ITypeLib2_GetTypeInfo(This,index,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,index,ppTInfo)") | 
|  | cpp_quote("#define ITypeLib2_GetTypeInfoType(This,index,pTKind) (This)->lpVtbl->GetTypeInfoType(This,index,pTKind)") | 
|  | cpp_quote("#define ITypeLib2_GetTypeInfoOfGuid(This,guid,ppTinfo) (This)->lpVtbl->GetTypeInfoOfGuid(This,guid,ppTinfo)") | 
|  | cpp_quote("#define ITypeLib2_GetLibAttr(This,ppTLibAttr) (This)->lpVtbl->GetLibAttr(This,ppTLibAttr)") | 
|  | cpp_quote("#define ITypeLib2_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp)") | 
|  | cpp_quote("#define ITypeLib2_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)") | 
|  | cpp_quote("#define ITypeLib2_IsName(This,szNameBuf,lHashVal,pfName) (This)->lpVtbl->IsName(This,szNameBuf,lHashVal,pfName)") | 
|  | cpp_quote("#define ITypeLib2_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) (This)->lpVtbl->FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)") | 
|  | cpp_quote("#define ITypeLib2_ReleaseTLibAttr(This,pTLibAttr) (This)->lpVtbl->ReleaseTLibAttr(This,pTLibAttr)") | 
|  | cpp_quote("#define ITypeLib2_GetCustData(This,guid,pVarVal) (This)->lpVtbl->GetCustData(This,guid,pVarVal)") | 
|  | cpp_quote("#define ITypeLib2_GetLibStatistics(This,pcUniqueNames,pcchUniqueNames) (This)->lpVtbl->GetLibStatistics(This,pcUniqueNames,pcchUniqueNames)") | 
|  | cpp_quote("#define ITypeLib2_GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) (This)->lpVtbl->GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)") | 
|  | cpp_quote("#define ITypeLib2_GetAllCustData(This,pCustData) (This)->lpVtbl->GetAllCustData(This,pCustData)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ITypeLib2_GetCustData_Proxy(ITypeLib2 *This,REFGUID guid,VARIANT *pVarVal);") | 
|  | cpp_quote("  void __RPC_STUB ITypeLib2_GetCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeLib2_RemoteGetLibStatistics_Proxy(ITypeLib2 *This,ULONG *pcUniqueNames,ULONG *pcchUniqueNames);") | 
|  | cpp_quote("  void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeLib2_RemoteGetDocumentation2_Proxy(ITypeLib2 *This,INT index,LCID lcid,DWORD refPtrFlags,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll);") | 
|  | cpp_quote("  void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeLib2_GetAllCustData_Proxy(ITypeLib2 *This,CUSTDATA *pCustData);") | 
|  | cpp_quote("  void __RPC_STUB ITypeLib2_GetAllCustData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ITypeChangeEvents_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ITypeChangeEvents_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef ITypeChangeEvents *LPTYPECHANGEEVENTS;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  typedef enum tagCHANGEKIND {") | 
|  | cpp_quote("    CHANGEKIND_ADDMEMBER = 0,") | 
|  | cpp_quote("    CHANGEKIND_DELETEMEMBER,CHANGEKIND_SETNAMES,CHANGEKIND_SETDOCUMENTATION,") | 
|  | cpp_quote("    CHANGEKIND_GENERAL,CHANGEKIND_INVALIDATE,CHANGEKIND_CHANGEFAILED,") | 
|  | cpp_quote("    CHANGEKIND_MAX") | 
|  | cpp_quote("  } CHANGEKIND;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ITypeChangeEvents;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ITypeChangeEvents : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI RequestTypeChange(CHANGEKIND changeKind,ITypeInfo *pTInfoBefore,LPOLESTR pStrName,INT *pfCancel) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI AfterTypeChange(CHANGEKIND changeKind,ITypeInfo *pTInfoAfter,LPOLESTR pStrName) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ITypeChangeEventsVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ITypeChangeEvents *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ITypeChangeEvents *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ITypeChangeEvents *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *RequestTypeChange)(ITypeChangeEvents *This,CHANGEKIND changeKind,ITypeInfo *pTInfoBefore,LPOLESTR pStrName,INT *pfCancel);") | 
|  | cpp_quote("      HRESULT (WINAPI *AfterTypeChange)(ITypeChangeEvents *This,CHANGEKIND changeKind,ITypeInfo *pTInfoAfter,LPOLESTR pStrName);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ITypeChangeEventsVtbl;") | 
|  | cpp_quote("  struct ITypeChangeEvents {") | 
|  | cpp_quote("    CONST_VTBL struct ITypeChangeEventsVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ITypeChangeEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ITypeChangeEvents_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ITypeChangeEvents_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ITypeChangeEvents_RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel) (This)->lpVtbl->RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel)") | 
|  | cpp_quote("#define ITypeChangeEvents_AfterTypeChange(This,changeKind,pTInfoAfter,pStrName) (This)->lpVtbl->AfterTypeChange(This,changeKind,pTInfoAfter,pStrName)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ITypeChangeEvents_RequestTypeChange_Proxy(ITypeChangeEvents *This,CHANGEKIND changeKind,ITypeInfo *pTInfoBefore,LPOLESTR pStrName,INT *pfCancel);") | 
|  | cpp_quote("  void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeChangeEvents_AfterTypeChange_Proxy(ITypeChangeEvents *This,CHANGEKIND changeKind,ITypeInfo *pTInfoAfter,LPOLESTR pStrName);") | 
|  | cpp_quote("  void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __IErrorInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __IErrorInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef IErrorInfo *LPERRORINFO;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_IErrorInfo;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct IErrorInfo : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetGUID(GUID *pGUID) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetSource(BSTR *pBstrSource) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetDescription(BSTR *pBstrDescription) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetHelpFile(BSTR *pBstrHelpFile) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetHelpContext(DWORD *pdwHelpContext) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct IErrorInfoVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(IErrorInfo *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(IErrorInfo *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(IErrorInfo *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetGUID)(IErrorInfo *This,GUID *pGUID);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetSource)(IErrorInfo *This,BSTR *pBstrSource);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetDescription)(IErrorInfo *This,BSTR *pBstrDescription);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetHelpFile)(IErrorInfo *This,BSTR *pBstrHelpFile);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetHelpContext)(IErrorInfo *This,DWORD *pdwHelpContext);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } IErrorInfoVtbl;") | 
|  | cpp_quote("  struct IErrorInfo {") | 
|  | cpp_quote("    CONST_VTBL struct IErrorInfoVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define IErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define IErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define IErrorInfo_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define IErrorInfo_GetGUID(This,pGUID) (This)->lpVtbl->GetGUID(This,pGUID)") | 
|  | cpp_quote("#define IErrorInfo_GetSource(This,pBstrSource) (This)->lpVtbl->GetSource(This,pBstrSource)") | 
|  | cpp_quote("#define IErrorInfo_GetDescription(This,pBstrDescription) (This)->lpVtbl->GetDescription(This,pBstrDescription)") | 
|  | cpp_quote("#define IErrorInfo_GetHelpFile(This,pBstrHelpFile) (This)->lpVtbl->GetHelpFile(This,pBstrHelpFile)") | 
|  | cpp_quote("#define IErrorInfo_GetHelpContext(This,pdwHelpContext) (This)->lpVtbl->GetHelpContext(This,pdwHelpContext)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI IErrorInfo_GetGUID_Proxy(IErrorInfo *This,GUID *pGUID);") | 
|  | cpp_quote("  void __RPC_STUB IErrorInfo_GetGUID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IErrorInfo_GetSource_Proxy(IErrorInfo *This,BSTR *pBstrSource);") | 
|  | cpp_quote("  void __RPC_STUB IErrorInfo_GetSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IErrorInfo_GetDescription_Proxy(IErrorInfo *This,BSTR *pBstrDescription);") | 
|  | cpp_quote("  void __RPC_STUB IErrorInfo_GetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IErrorInfo_GetHelpFile_Proxy(IErrorInfo *This,BSTR *pBstrHelpFile);") | 
|  | cpp_quote("  void __RPC_STUB IErrorInfo_GetHelpFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IErrorInfo_GetHelpContext_Proxy(IErrorInfo *This,DWORD *pdwHelpContext);") | 
|  | cpp_quote("  void __RPC_STUB IErrorInfo_GetHelpContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ICreateErrorInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ICreateErrorInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef ICreateErrorInfo *LPCREATEERRORINFO;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ICreateErrorInfo;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ICreateErrorInfo : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetGUID(REFGUID rguid) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetSource(LPOLESTR szSource) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetDescription(LPOLESTR szDescription) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetHelpFile(LPOLESTR szHelpFile) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI SetHelpContext(DWORD dwHelpContext) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ICreateErrorInfoVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ICreateErrorInfo *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ICreateErrorInfo *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ICreateErrorInfo *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetGUID)(ICreateErrorInfo *This,REFGUID rguid);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetSource)(ICreateErrorInfo *This,LPOLESTR szSource);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetDescription)(ICreateErrorInfo *This,LPOLESTR szDescription);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpFile)(ICreateErrorInfo *This,LPOLESTR szHelpFile);") | 
|  | cpp_quote("      HRESULT (WINAPI *SetHelpContext)(ICreateErrorInfo *This,DWORD dwHelpContext);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ICreateErrorInfoVtbl;") | 
|  | cpp_quote("  struct ICreateErrorInfo {") | 
|  | cpp_quote("    CONST_VTBL struct ICreateErrorInfoVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ICreateErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ICreateErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ICreateErrorInfo_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ICreateErrorInfo_SetGUID(This,rguid) (This)->lpVtbl->SetGUID(This,rguid)") | 
|  | cpp_quote("#define ICreateErrorInfo_SetSource(This,szSource) (This)->lpVtbl->SetSource(This,szSource)") | 
|  | cpp_quote("#define ICreateErrorInfo_SetDescription(This,szDescription) (This)->lpVtbl->SetDescription(This,szDescription)") | 
|  | cpp_quote("#define ICreateErrorInfo_SetHelpFile(This,szHelpFile) (This)->lpVtbl->SetHelpFile(This,szHelpFile)") | 
|  | cpp_quote("#define ICreateErrorInfo_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ICreateErrorInfo_SetGUID_Proxy(ICreateErrorInfo *This,REFGUID rguid);") | 
|  | cpp_quote("  void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateErrorInfo_SetSource_Proxy(ICreateErrorInfo *This,LPOLESTR szSource);") | 
|  | cpp_quote("  void __RPC_STUB ICreateErrorInfo_SetSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateErrorInfo_SetDescription_Proxy(ICreateErrorInfo *This,LPOLESTR szDescription);") | 
|  | cpp_quote("  void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateErrorInfo_SetHelpFile_Proxy(ICreateErrorInfo *This,LPOLESTR szHelpFile);") | 
|  | cpp_quote("  void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ICreateErrorInfo_SetHelpContext_Proxy(ICreateErrorInfo *This,DWORD dwHelpContext);") | 
|  | cpp_quote("  void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ISupportErrorInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ISupportErrorInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef ISupportErrorInfo *LPSUPPORTERRORINFO;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_ISupportErrorInfo;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ISupportErrorInfo : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI InterfaceSupportsErrorInfo(REFIID riid) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ISupportErrorInfoVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ISupportErrorInfo *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ISupportErrorInfo *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ISupportErrorInfo *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *InterfaceSupportsErrorInfo)(ISupportErrorInfo *This,REFIID riid);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ISupportErrorInfoVtbl;") | 
|  | cpp_quote("  struct ISupportErrorInfo {") | 
|  | cpp_quote("    CONST_VTBL struct ISupportErrorInfoVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ISupportErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ISupportErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ISupportErrorInfo_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ISupportErrorInfo_InterfaceSupportsErrorInfo(This,riid) (This)->lpVtbl->InterfaceSupportsErrorInfo(This,riid)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(ISupportErrorInfo *This,REFIID riid);") | 
|  | cpp_quote("  void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ITypeFactory_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ITypeFactory_INTERFACE_DEFINED__") | 
|  | cpp_quote("  EXTERN_C const IID IID_ITypeFactory;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ITypeFactory : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI CreateFromTypeInfo(ITypeInfo *pTypeInfo,REFIID riid,IUnknown **ppv) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ITypeFactoryVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ITypeFactory *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ITypeFactory *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ITypeFactory *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *CreateFromTypeInfo)(ITypeFactory *This,ITypeInfo *pTypeInfo,REFIID riid,IUnknown **ppv);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ITypeFactoryVtbl;") | 
|  | cpp_quote("  struct ITypeFactory {") | 
|  | cpp_quote("    CONST_VTBL struct ITypeFactoryVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ITypeFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ITypeFactory_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ITypeFactory_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ITypeFactory_CreateFromTypeInfo(This,pTypeInfo,riid,ppv) (This)->lpVtbl->CreateFromTypeInfo(This,pTypeInfo,riid,ppv)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ITypeFactory_CreateFromTypeInfo_Proxy(ITypeFactory *This,ITypeInfo *pTypeInfo,REFIID riid,IUnknown **ppv);") | 
|  | cpp_quote("  void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __ITypeMarshal_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __ITypeMarshal_INTERFACE_DEFINED__") | 
|  | cpp_quote("  EXTERN_C const IID IID_ITypeMarshal;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct ITypeMarshal : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI Size(PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG *pSize) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI Marshal(PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG cbBufferLength,BYTE *pBuffer,ULONG *pcbWritten) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI Unmarshal(PVOID pvType,DWORD dwFlags,ULONG cbBufferLength,BYTE *pBuffer,ULONG *pcbRead) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI Free(PVOID pvType) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct ITypeMarshalVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(ITypeMarshal *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(ITypeMarshal *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(ITypeMarshal *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *Size)(ITypeMarshal *This,PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG *pSize);") | 
|  | cpp_quote("      HRESULT (WINAPI *Marshal)(ITypeMarshal *This,PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG cbBufferLength,BYTE *pBuffer,ULONG *pcbWritten);") | 
|  | cpp_quote("      HRESULT (WINAPI *Unmarshal)(ITypeMarshal *This,PVOID pvType,DWORD dwFlags,ULONG cbBufferLength,BYTE *pBuffer,ULONG *pcbRead);") | 
|  | cpp_quote("      HRESULT (WINAPI *Free)(ITypeMarshal *This,PVOID pvType);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } ITypeMarshalVtbl;") | 
|  | cpp_quote("  struct ITypeMarshal {") | 
|  | cpp_quote("    CONST_VTBL struct ITypeMarshalVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define ITypeMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define ITypeMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define ITypeMarshal_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define ITypeMarshal_Size(This,pvType,dwDestContext,pvDestContext,pSize) (This)->lpVtbl->Size(This,pvType,dwDestContext,pvDestContext,pSize)") | 
|  | cpp_quote("#define ITypeMarshal_Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten) (This)->lpVtbl->Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten)") | 
|  | cpp_quote("#define ITypeMarshal_Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead) (This)->lpVtbl->Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead)") | 
|  | cpp_quote("#define ITypeMarshal_Free(This,pvType) (This)->lpVtbl->Free(This,pvType)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI ITypeMarshal_Size_Proxy(ITypeMarshal *This,PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG *pSize);") | 
|  | cpp_quote("  void __RPC_STUB ITypeMarshal_Size_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeMarshal_Marshal_Proxy(ITypeMarshal *This,PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG cbBufferLength,BYTE *pBuffer,ULONG *pcbWritten);") | 
|  | cpp_quote("  void __RPC_STUB ITypeMarshal_Marshal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeMarshal_Unmarshal_Proxy(ITypeMarshal *This,PVOID pvType,DWORD dwFlags,ULONG cbBufferLength,BYTE *pBuffer,ULONG *pcbRead);") | 
|  | cpp_quote("  void __RPC_STUB ITypeMarshal_Unmarshal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeMarshal_Free_Proxy(ITypeMarshal *This,PVOID pvType);") | 
|  | cpp_quote("  void __RPC_STUB ITypeMarshal_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef __IRecordInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __IRecordInfo_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef IRecordInfo *LPRECORDINFO;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_IRecordInfo;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct IRecordInfo : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI RecordInit(PVOID pvNew) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI RecordClear(PVOID pvExisting) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI RecordCopy(PVOID pvExisting,PVOID pvNew) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetGuid(GUID *pguid) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetName(BSTR *pbstrName) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetSize(ULONG *pcbSize) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetTypeInfo(ITypeInfo **ppTypeInfo) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetField(PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetFieldNoCopy(PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField,PVOID *ppvDataCArray) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI PutField(ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI PutFieldNoCopy(ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI GetFieldNames(ULONG *pcNames,BSTR *rgBstrNames) = 0;") | 
|  | cpp_quote("    virtual WINBOOL WINAPI IsMatchingType(IRecordInfo *pRecordInfo) = 0;") | 
|  | cpp_quote("    virtual PVOID WINAPI RecordCreate(void) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI RecordCreateCopy(PVOID pvSource,PVOID *ppvDest) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI RecordDestroy(PVOID pvRecord) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct IRecordInfoVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRecordInfo *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(IRecordInfo *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(IRecordInfo *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *RecordInit)(IRecordInfo *This,PVOID pvNew);") | 
|  | cpp_quote("      HRESULT (WINAPI *RecordClear)(IRecordInfo *This,PVOID pvExisting);") | 
|  | cpp_quote("      HRESULT (WINAPI *RecordCopy)(IRecordInfo *This,PVOID pvExisting,PVOID pvNew);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetGuid)(IRecordInfo *This,GUID *pguid);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetName)(IRecordInfo *This,BSTR *pbstrName);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetSize)(IRecordInfo *This,ULONG *pcbSize);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetTypeInfo)(IRecordInfo *This,ITypeInfo **ppTypeInfo);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetField)(IRecordInfo *This,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetFieldNoCopy)(IRecordInfo *This,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField,PVOID *ppvDataCArray);") | 
|  | cpp_quote("      HRESULT (WINAPI *PutField)(IRecordInfo *This,ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField);") | 
|  | cpp_quote("      HRESULT (WINAPI *PutFieldNoCopy)(IRecordInfo *This,ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField);") | 
|  | cpp_quote("      HRESULT (WINAPI *GetFieldNames)(IRecordInfo *This,ULONG *pcNames,BSTR *rgBstrNames);") | 
|  | cpp_quote("      WINBOOL (WINAPI *IsMatchingType)(IRecordInfo *This,IRecordInfo *pRecordInfo);") | 
|  | cpp_quote("      PVOID (WINAPI *RecordCreate)(IRecordInfo *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *RecordCreateCopy)(IRecordInfo *This,PVOID pvSource,PVOID *ppvDest);") | 
|  | cpp_quote("      HRESULT (WINAPI *RecordDestroy)(IRecordInfo *This,PVOID pvRecord);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } IRecordInfoVtbl;") | 
|  | cpp_quote("  struct IRecordInfo {") | 
|  | cpp_quote("    CONST_VTBL struct IRecordInfoVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define IRecordInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define IRecordInfo_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define IRecordInfo_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define IRecordInfo_RecordInit(This,pvNew) (This)->lpVtbl->RecordInit(This,pvNew)") | 
|  | cpp_quote("#define IRecordInfo_RecordClear(This,pvExisting) (This)->lpVtbl->RecordClear(This,pvExisting)") | 
|  | cpp_quote("#define IRecordInfo_RecordCopy(This,pvExisting,pvNew) (This)->lpVtbl->RecordCopy(This,pvExisting,pvNew)") | 
|  | cpp_quote("#define IRecordInfo_GetGuid(This,pguid) (This)->lpVtbl->GetGuid(This,pguid)") | 
|  | cpp_quote("#define IRecordInfo_GetName(This,pbstrName) (This)->lpVtbl->GetName(This,pbstrName)") | 
|  | cpp_quote("#define IRecordInfo_GetSize(This,pcbSize) (This)->lpVtbl->GetSize(This,pcbSize)") | 
|  | cpp_quote("#define IRecordInfo_GetTypeInfo(This,ppTypeInfo) (This)->lpVtbl->GetTypeInfo(This,ppTypeInfo)") | 
|  | cpp_quote("#define IRecordInfo_GetField(This,pvData,szFieldName,pvarField) (This)->lpVtbl->GetField(This,pvData,szFieldName,pvarField)") | 
|  | cpp_quote("#define IRecordInfo_GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray) (This)->lpVtbl->GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray)") | 
|  | cpp_quote("#define IRecordInfo_PutField(This,wFlags,pvData,szFieldName,pvarField) (This)->lpVtbl->PutField(This,wFlags,pvData,szFieldName,pvarField)") | 
|  | cpp_quote("#define IRecordInfo_PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField) (This)->lpVtbl->PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField)") | 
|  | cpp_quote("#define IRecordInfo_GetFieldNames(This,pcNames,rgBstrNames) (This)->lpVtbl->GetFieldNames(This,pcNames,rgBstrNames)") | 
|  | cpp_quote("#define IRecordInfo_IsMatchingType(This,pRecordInfo) (This)->lpVtbl->IsMatchingType(This,pRecordInfo)") | 
|  | cpp_quote("#define IRecordInfo_RecordCreate(This) (This)->lpVtbl->RecordCreate(This)") | 
|  | cpp_quote("#define IRecordInfo_RecordCreateCopy(This,pvSource,ppvDest) (This)->lpVtbl->RecordCreateCopy(This,pvSource,ppvDest)") | 
|  | cpp_quote("#define IRecordInfo_RecordDestroy(This,pvRecord) (This)->lpVtbl->RecordDestroy(This,pvRecord)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_RecordInit_Proxy(IRecordInfo *This,PVOID pvNew);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_RecordInit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_RecordClear_Proxy(IRecordInfo *This,PVOID pvExisting);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_RecordClear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_RecordCopy_Proxy(IRecordInfo *This,PVOID pvExisting,PVOID pvNew);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_RecordCopy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_GetGuid_Proxy(IRecordInfo *This,GUID *pguid);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_GetGuid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_GetName_Proxy(IRecordInfo *This,BSTR *pbstrName);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_GetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_GetSize_Proxy(IRecordInfo *This,ULONG *pcbSize);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_GetTypeInfo_Proxy(IRecordInfo *This,ITypeInfo **ppTypeInfo);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_GetTypeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_GetField_Proxy(IRecordInfo *This,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_GetField_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_GetFieldNoCopy_Proxy(IRecordInfo *This,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField,PVOID *ppvDataCArray);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_PutField_Proxy(IRecordInfo *This,ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_PutField_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_PutFieldNoCopy_Proxy(IRecordInfo *This,ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_GetFieldNames_Proxy(IRecordInfo *This,ULONG *pcNames,BSTR *rgBstrNames);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_GetFieldNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  WINBOOL WINAPI IRecordInfo_IsMatchingType_Proxy(IRecordInfo *This,IRecordInfo *pRecordInfo);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_IsMatchingType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  PVOID WINAPI IRecordInfo_RecordCreate_Proxy(IRecordInfo *This);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_RecordCreate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_RecordCreateCopy_Proxy(IRecordInfo *This,PVOID pvSource,PVOID *ppvDest);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IRecordInfo_RecordDestroy_Proxy(IRecordInfo *This,PVOID pvRecord);") | 
|  | cpp_quote("  void __RPC_STUB IRecordInfo_RecordDestroy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(3127Ca40-446e-11ce-8135-00aa004bb851), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IErrorLog : IUnknown | 
|  | { | 
|  | typedef IErrorLog *LPERRORLOG; | 
|  |  | 
|  | HRESULT AddError( | 
|  | [in] LPCOLESTR pszPropName, | 
|  | [in] EXCEPINFO *pExcepInfo); | 
|  | } | 
|  |  | 
|  | cpp_quote("#ifndef __IPropertyBag_INTERFACE_DEFINED__") | 
|  | cpp_quote("#define __IPropertyBag_INTERFACE_DEFINED__") | 
|  | cpp_quote("  typedef IPropertyBag *LPPROPERTYBAG;") | 
|  | cpp_quote("") | 
|  | cpp_quote("  EXTERN_C const IID IID_IPropertyBag;") | 
|  | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") | 
|  | cpp_quote("  struct IPropertyBag : public IUnknown {") | 
|  | cpp_quote("  public:") | 
|  | cpp_quote("    virtual HRESULT WINAPI Read(LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) = 0;") | 
|  | cpp_quote("    virtual HRESULT WINAPI Write(LPCOLESTR pszPropName,VARIANT *pVar) = 0;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("  typedef struct IPropertyBagVtbl {") | 
|  | cpp_quote("    BEGIN_INTERFACE") | 
|  | cpp_quote("      HRESULT (WINAPI *QueryInterface)(IPropertyBag *This,REFIID riid,void **ppvObject);") | 
|  | cpp_quote("      ULONG (WINAPI *AddRef)(IPropertyBag *This);") | 
|  | cpp_quote("      ULONG (WINAPI *Release)(IPropertyBag *This);") | 
|  | cpp_quote("      HRESULT (WINAPI *Read)(IPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog);") | 
|  | cpp_quote("      HRESULT (WINAPI *Write)(IPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar);") | 
|  | cpp_quote("    END_INTERFACE") | 
|  | cpp_quote("  } IPropertyBagVtbl;") | 
|  | cpp_quote("  struct IPropertyBag {") | 
|  | cpp_quote("    CONST_VTBL struct IPropertyBagVtbl *lpVtbl;") | 
|  | cpp_quote("  };") | 
|  | cpp_quote("#ifdef COBJMACROS") | 
|  | cpp_quote("#define IPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)") | 
|  | cpp_quote("#define IPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)") | 
|  | cpp_quote("#define IPropertyBag_Release(This) (This)->lpVtbl->Release(This)") | 
|  | cpp_quote("#define IPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog)") | 
|  | cpp_quote("#define IPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar)") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("  HRESULT WINAPI IPropertyBag_RemoteRead_Proxy(IPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog,DWORD varType,IUnknown *pUnkObj);") | 
|  | cpp_quote("  void __RPC_STUB IPropertyBag_RemoteRead_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("  HRESULT WINAPI IPropertyBag_Write_Proxy(IPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar);") | 
|  | cpp_quote("  void __RPC_STUB IPropertyBag_Write_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("  HRESULT WINAPI IEnumVARIANT_Next_Proxy(IEnumVARIANT *This,ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched);") | 
|  | cpp_quote("  HRESULT WINAPI IEnumVARIANT_Next_Stub(IEnumVARIANT *This,ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetDocumentation2_Proxy(ITypeInfo2 *This,MEMBERID memid,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeInfo2_GetDocumentation2_Stub(ITypeInfo2 *This,MEMBERID memid,LCID lcid,DWORD refPtrFlags,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeLib2_GetLibStatistics_Proxy(ITypeLib2 *This,ULONG *pcUniqueNames,ULONG *pcchUniqueNames);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeLib2_GetLibStatistics_Stub(ITypeLib2 *This,ULONG *pcUniqueNames,ULONG *pcchUniqueNames);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeLib2_GetDocumentation2_Proxy(ITypeLib2 *This,INT index,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll);") | 
|  | cpp_quote("  HRESULT WINAPI ITypeLib2_GetDocumentation2_Stub(ITypeLib2 *This,INT index,LCID lcid,DWORD refPtrFlags,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll);") | 
|  | cpp_quote("  HRESULT WINAPI IPropertyBag_Read_Proxy(IPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog);") | 
|  | cpp_quote("  HRESULT WINAPI IPropertyBag_Read_Stub(IPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog,DWORD varType,IUnknown *pUnkObj);") |