|  | /*** Autogenerated by WIDL 9.8 from include/oaidl.idl - Do not edit ***/ | 
|  |  | 
|  | #ifdef _WIN32 | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include <windows.h> | 
|  | #include <ole2.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __oaidl_h__ | 
|  | #define __oaidl_h__ | 
|  |  | 
|  | #ifndef __WIDL_INLINE | 
|  | #if defined(__cplusplus) || defined(_MSC_VER) | 
|  | #define __WIDL_INLINE inline | 
|  | #elif defined(__GNUC__) | 
|  | #define __WIDL_INLINE __inline__ | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /* Forward declarations */ | 
|  |  | 
|  | #ifndef __ICreateTypeInfo_FWD_DEFINED__ | 
|  | #define __ICreateTypeInfo_FWD_DEFINED__ | 
|  | typedef interface ICreateTypeInfo ICreateTypeInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateTypeInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICreateTypeInfo2_FWD_DEFINED__ | 
|  | #define __ICreateTypeInfo2_FWD_DEFINED__ | 
|  | typedef interface ICreateTypeInfo2 ICreateTypeInfo2; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateTypeInfo2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICreateTypeLib_FWD_DEFINED__ | 
|  | #define __ICreateTypeLib_FWD_DEFINED__ | 
|  | typedef interface ICreateTypeLib ICreateTypeLib; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateTypeLib; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICreateTypeLib2_FWD_DEFINED__ | 
|  | #define __ICreateTypeLib2_FWD_DEFINED__ | 
|  | typedef interface ICreateTypeLib2 ICreateTypeLib2; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateTypeLib2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDispatch_FWD_DEFINED__ | 
|  | #define __IDispatch_FWD_DEFINED__ | 
|  | typedef interface IDispatch IDispatch; | 
|  | #ifdef __cplusplus | 
|  | interface IDispatch; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumVARIANT_FWD_DEFINED__ | 
|  | #define __IEnumVARIANT_FWD_DEFINED__ | 
|  | typedef interface IEnumVARIANT IEnumVARIANT; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumVARIANT; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeComp_FWD_DEFINED__ | 
|  | #define __ITypeComp_FWD_DEFINED__ | 
|  | typedef interface ITypeComp ITypeComp; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeComp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeInfo_FWD_DEFINED__ | 
|  | #define __ITypeInfo_FWD_DEFINED__ | 
|  | typedef interface ITypeInfo ITypeInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeInfo2_FWD_DEFINED__ | 
|  | #define __ITypeInfo2_FWD_DEFINED__ | 
|  | typedef interface ITypeInfo2 ITypeInfo2; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeInfo2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeLib_FWD_DEFINED__ | 
|  | #define __ITypeLib_FWD_DEFINED__ | 
|  | typedef interface ITypeLib ITypeLib; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeLib; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeLib2_FWD_DEFINED__ | 
|  | #define __ITypeLib2_FWD_DEFINED__ | 
|  | typedef interface ITypeLib2 ITypeLib2; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeLib2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeChangeEvents_FWD_DEFINED__ | 
|  | #define __ITypeChangeEvents_FWD_DEFINED__ | 
|  | typedef interface ITypeChangeEvents ITypeChangeEvents; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeChangeEvents; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IErrorInfo_FWD_DEFINED__ | 
|  | #define __IErrorInfo_FWD_DEFINED__ | 
|  | typedef interface IErrorInfo IErrorInfo; | 
|  | #ifdef __cplusplus | 
|  | interface IErrorInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICreateErrorInfo_FWD_DEFINED__ | 
|  | #define __ICreateErrorInfo_FWD_DEFINED__ | 
|  | typedef interface ICreateErrorInfo ICreateErrorInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateErrorInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ISupportErrorInfo_FWD_DEFINED__ | 
|  | #define __ISupportErrorInfo_FWD_DEFINED__ | 
|  | typedef interface ISupportErrorInfo ISupportErrorInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ISupportErrorInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeFactory_FWD_DEFINED__ | 
|  | #define __ITypeFactory_FWD_DEFINED__ | 
|  | typedef interface ITypeFactory ITypeFactory; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeFactory; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeMarshal_FWD_DEFINED__ | 
|  | #define __ITypeMarshal_FWD_DEFINED__ | 
|  | typedef interface ITypeMarshal ITypeMarshal; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeMarshal; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IRecordInfo_FWD_DEFINED__ | 
|  | #define __IRecordInfo_FWD_DEFINED__ | 
|  | typedef interface IRecordInfo IRecordInfo; | 
|  | #ifdef __cplusplus | 
|  | interface IRecordInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IErrorLog_FWD_DEFINED__ | 
|  | #define __IErrorLog_FWD_DEFINED__ | 
|  | typedef interface IErrorLog IErrorLog; | 
|  | #ifdef __cplusplus | 
|  | interface IErrorLog; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPropertyBag_FWD_DEFINED__ | 
|  | #define __IPropertyBag_FWD_DEFINED__ | 
|  | typedef interface IPropertyBag IPropertyBag; | 
|  | #ifdef __cplusplus | 
|  | interface IPropertyBag; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <objidl.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | /** | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER within this package. | 
|  | */ | 
|  |  | 
|  | #include <winapifamily.h> | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | 
|  | #ifndef __ICreateTypeInfo_FWD_DEFINED__ | 
|  | #define __ICreateTypeInfo_FWD_DEFINED__ | 
|  | typedef interface ICreateTypeInfo ICreateTypeInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateTypeInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICreateTypeInfo2_FWD_DEFINED__ | 
|  | #define __ICreateTypeInfo2_FWD_DEFINED__ | 
|  | typedef interface ICreateTypeInfo2 ICreateTypeInfo2; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateTypeInfo2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICreateTypeLib_FWD_DEFINED__ | 
|  | #define __ICreateTypeLib_FWD_DEFINED__ | 
|  | typedef interface ICreateTypeLib ICreateTypeLib; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateTypeLib; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICreateTypeLib2_FWD_DEFINED__ | 
|  | #define __ICreateTypeLib2_FWD_DEFINED__ | 
|  | typedef interface ICreateTypeLib2 ICreateTypeLib2; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateTypeLib2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | 
|  | #ifndef __IDispatch_FWD_DEFINED__ | 
|  | #define __IDispatch_FWD_DEFINED__ | 
|  | typedef interface IDispatch IDispatch; | 
|  | #ifdef __cplusplus | 
|  | interface IDispatch; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumVARIANT_FWD_DEFINED__ | 
|  | #define __IEnumVARIANT_FWD_DEFINED__ | 
|  | typedef interface IEnumVARIANT IEnumVARIANT; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumVARIANT; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeComp_FWD_DEFINED__ | 
|  | #define __ITypeComp_FWD_DEFINED__ | 
|  | typedef interface ITypeComp ITypeComp; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeComp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | 
|  | #ifndef __ITypeInfo_FWD_DEFINED__ | 
|  | #define __ITypeInfo_FWD_DEFINED__ | 
|  | typedef interface ITypeInfo ITypeInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeInfo2_FWD_DEFINED__ | 
|  | #define __ITypeInfo2_FWD_DEFINED__ | 
|  | typedef interface ITypeInfo2 ITypeInfo2; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeInfo2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeLib_FWD_DEFINED__ | 
|  | #define __ITypeLib_FWD_DEFINED__ | 
|  | typedef interface ITypeLib ITypeLib; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeLib; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeLib2_FWD_DEFINED__ | 
|  | #define __ITypeLib2_FWD_DEFINED__ | 
|  | typedef interface ITypeLib2 ITypeLib2; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeLib2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeChangeEvents_FWD_DEFINED__ | 
|  | #define __ITypeChangeEvents_FWD_DEFINED__ | 
|  | typedef interface ITypeChangeEvents ITypeChangeEvents; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeChangeEvents; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IErrorInfo_FWD_DEFINED__ | 
|  | #define __IErrorInfo_FWD_DEFINED__ | 
|  | typedef interface IErrorInfo IErrorInfo; | 
|  | #ifdef __cplusplus | 
|  | interface IErrorInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICreateErrorInfo_FWD_DEFINED__ | 
|  | #define __ICreateErrorInfo_FWD_DEFINED__ | 
|  | typedef interface ICreateErrorInfo ICreateErrorInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateErrorInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ISupportErrorInfo_FWD_DEFINED__ | 
|  | #define __ISupportErrorInfo_FWD_DEFINED__ | 
|  | typedef interface ISupportErrorInfo ISupportErrorInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ISupportErrorInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeFactory_FWD_DEFINED__ | 
|  | #define __ITypeFactory_FWD_DEFINED__ | 
|  | typedef interface ITypeFactory ITypeFactory; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeFactory; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITypeMarshal_FWD_DEFINED__ | 
|  | #define __ITypeMarshal_FWD_DEFINED__ | 
|  | typedef interface ITypeMarshal ITypeMarshal; | 
|  | #ifdef __cplusplus | 
|  | interface ITypeMarshal; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IRecordInfo_FWD_DEFINED__ | 
|  | #define __IRecordInfo_FWD_DEFINED__ | 
|  | typedef interface IRecordInfo IRecordInfo; | 
|  | #ifdef __cplusplus | 
|  | interface IRecordInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | 
|  | /***************************************************************************** | 
|  | * IOleAutomationTypes interface (v1.0) | 
|  | */ | 
|  | #ifndef __IOleAutomationTypes_INTERFACE_DEFINED__ | 
|  | #define __IOleAutomationTypes_INTERFACE_DEFINED__ | 
|  |  | 
|  | extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_s_ifspec; | 
|  | typedef CY CURRENCY; | 
|  | typedef struct tagSAFEARRAYBOUND { | 
|  | ULONG cElements; | 
|  | LONG lLbound; | 
|  | } SAFEARRAYBOUND; | 
|  | typedef struct tagSAFEARRAYBOUND *LPSAFEARRAYBOUND; | 
|  |  | 
|  | typedef struct _wireVARIANT *wireVARIANT; | 
|  | typedef struct _wireBRECORD *wireBRECORD; | 
|  |  | 
|  | typedef struct _wireSAFEARR_BSTR { | 
|  | ULONG Size; | 
|  | wireBSTR *aBstr; | 
|  | } SAFEARR_BSTR; | 
|  |  | 
|  | typedef struct _wireSAFEARR_UNKNOWN { | 
|  | ULONG Size; | 
|  | IUnknown **apUnknown; | 
|  | } SAFEARR_UNKNOWN; | 
|  |  | 
|  | typedef struct _wireSAFEARR_DISPATCH { | 
|  | ULONG Size; | 
|  | IDispatch **apDispatch; | 
|  | } SAFEARR_DISPATCH; | 
|  |  | 
|  | typedef struct _wireSAFEARR_VARIANT { | 
|  | ULONG Size; | 
|  | wireVARIANT *aVariant; | 
|  | } SAFEARR_VARIANT; | 
|  |  | 
|  | typedef struct _wireSAFEARR_BRECORD { | 
|  | ULONG Size; | 
|  | wireBRECORD *aRecord; | 
|  | } SAFEARR_BRECORD; | 
|  |  | 
|  | typedef struct _wireSAFEARR_HAVEIID { | 
|  | ULONG Size; | 
|  | IUnknown **apUnknown; | 
|  | IID iid; | 
|  | } SAFEARR_HAVEIID; | 
|  |  | 
|  | typedef 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 struct _wireSAFEARRAY_UNION { | 
|  | ULONG sfType; | 
|  | union __WIDL_oaidl_generated_name_0000000E { | 
|  | SAFEARR_BSTR BstrStr; | 
|  | SAFEARR_UNKNOWN UnknownStr; | 
|  | SAFEARR_DISPATCH DispatchStr; | 
|  | SAFEARR_VARIANT VariantStr; | 
|  | SAFEARR_BRECORD RecordStr; | 
|  | SAFEARR_HAVEIID HaveIidStr; | 
|  | BYTE_SIZEDARR ByteStr; | 
|  | WORD_SIZEDARR WordStr; | 
|  | DWORD_SIZEDARR LongStr; | 
|  | HYPER_SIZEDARR HyperStr; | 
|  | } u; | 
|  | } SAFEARRAYUNION; | 
|  |  | 
|  | typedef struct _wireSAFEARRAY { | 
|  | USHORT cDims; | 
|  | USHORT fFeatures; | 
|  | ULONG cbElements; | 
|  | ULONG cLocks; | 
|  | SAFEARRAYUNION uArrayStructs; | 
|  | SAFEARRAYBOUND rgsabound[1]; | 
|  | } *wireSAFEARRAY; | 
|  | typedef wireSAFEARRAY *wirePSAFEARRAY; | 
|  |  | 
|  | typedef struct tagSAFEARRAY { | 
|  | USHORT cDims; | 
|  | USHORT fFeatures; | 
|  | ULONG cbElements; | 
|  | ULONG cLocks; | 
|  | PVOID pvData; | 
|  | SAFEARRAYBOUND rgsabound[1]; | 
|  | } SAFEARRAY; | 
|  | typedef SAFEARRAY *LPSAFEARRAY; | 
|  |  | 
|  | #define FADF_AUTO (0x1) | 
|  |  | 
|  | #define FADF_STATIC (0x2) | 
|  |  | 
|  | #define FADF_EMBEDDED (0x4) | 
|  |  | 
|  | #define FADF_FIXEDSIZE (0x10) | 
|  |  | 
|  | #define FADF_RECORD (0x20) | 
|  |  | 
|  | #define FADF_HAVEIID (0x40) | 
|  |  | 
|  | #define FADF_HAVEVARTYPE (0x80) | 
|  |  | 
|  | #define FADF_BSTR (0x100) | 
|  |  | 
|  | #define FADF_UNKNOWN (0x200) | 
|  |  | 
|  | #define FADF_DISPATCH (0x400) | 
|  |  | 
|  | #define FADF_VARIANT (0x800) | 
|  |  | 
|  | #define FADF_RESERVED (0xf008) | 
|  |  | 
|  |  | 
|  | /* Kludge for 3.0 release to disable new default-behavior. | 
|  | * For now we define _FORCENAMELESSUNION.  For 4.0 this define | 
|  | * will be removed. */ | 
|  | #ifndef _FORCENAMELESSUNION | 
|  | #define _FORCENAMELESSUNION 1 | 
|  | #endif | 
|  |  | 
|  | #if (__STDC__ && !defined(__cplusplus) && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION) || (defined (_MSC_VER) && !defined(_MSC_EXTENSIONS) && !defined(_FORCENAMELESSUNION)) | 
|  | #define __VARIANT_NAME_1 n1 | 
|  | #define __VARIANT_NAME_2 n2 | 
|  | #define __VARIANT_NAME_3 n3 | 
|  | #define __VARIANT_NAME_4 brecVal | 
|  | #else | 
|  | #define __tagVARIANT | 
|  | #define __VARIANT_NAME_1 | 
|  | #define __VARIANT_NAME_2 | 
|  | #define __VARIANT_NAME_3 | 
|  | #define __tagBRECORD | 
|  | #define __VARIANT_NAME_4 | 
|  | #endif | 
|  |  | 
|  | typedef 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; | 
|  | 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; | 
|  | 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; | 
|  | #if 0 | 
|  | typedef const VARIANT *REFVARIANT; | 
|  | #else | 
|  |  | 
|  | #ifndef _REFVARIANT_DEFINED | 
|  | #define _REFVARIANT_DEFINED | 
|  | #ifdef __cplusplus | 
|  | #define REFVARIANT const VARIANT & | 
|  | #else | 
|  | #define REFVARIANT const VARIANT * __MIDL_CONST | 
|  | #endif | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | struct _wireBRECORD { | 
|  | ULONG fFlags; | 
|  | ULONG clSize; | 
|  | IRecordInfo *pRecInfo; | 
|  | byte *pRecord; | 
|  | }; | 
|  |  | 
|  | struct _wireVARIANT { | 
|  | DWORD clSize; | 
|  | DWORD rpcReserved; | 
|  | USHORT vt; | 
|  | USHORT wReserved1; | 
|  | USHORT wReserved2; | 
|  | USHORT wReserved3; | 
|  | __C89_NAMELESS union { | 
|  | LONGLONG llVal; | 
|  | LONG lVal; | 
|  | BYTE bVal; | 
|  | SHORT iVal; | 
|  | FLOAT fltVal; | 
|  | DOUBLE dblVal; | 
|  | VARIANT_BOOL boolVal; | 
|  | SCODE scode; | 
|  | CY cyVal; | 
|  | DATE date; | 
|  | wireBSTR bstrVal; | 
|  | IUnknown *punkVal; | 
|  | IDispatch *pdispVal; | 
|  | wirePSAFEARRAY parray; | 
|  | wireBRECORD brecVal; | 
|  | BYTE *pbVal; | 
|  | SHORT *piVal; | 
|  | LONG *plVal; | 
|  | LONGLONG *pllVal; | 
|  | FLOAT *pfltVal; | 
|  | DOUBLE *pdblVal; | 
|  | VARIANT_BOOL *pboolVal; | 
|  | SCODE *pscode; | 
|  | CY *pcyVal; | 
|  | DATE *pdate; | 
|  | wireBSTR *pbstrVal; | 
|  | IUnknown **ppunkVal; | 
|  | IDispatch **ppdispVal; | 
|  | wirePSAFEARRAY *pparray; | 
|  | wireVARIANT *pvarVal; | 
|  | CHAR cVal; | 
|  | USHORT uiVal; | 
|  | ULONG ulVal; | 
|  | ULONGLONG ullVal; | 
|  | INT intVal; | 
|  | UINT uintVal; | 
|  | DECIMAL decVal; | 
|  | DECIMAL *pdecVal; | 
|  | CHAR *pcVal; | 
|  | USHORT *puiVal; | 
|  | ULONG *pulVal; | 
|  | ULONGLONG *pullVal; | 
|  | INT *pintVal; | 
|  | UINT *puintVal; | 
|  | } __C89_NAMELESSUNIONNAME; | 
|  | }; | 
|  |  | 
|  | typedef LONG DISPID; | 
|  | typedef DISPID MEMBERID; | 
|  | typedef DWORD HREFTYPE; | 
|  | typedef enum tagTYPEKIND { | 
|  | TKIND_ENUM = 0, | 
|  | TKIND_RECORD = 1, | 
|  | TKIND_MODULE = 2, | 
|  | TKIND_INTERFACE = 3, | 
|  | TKIND_DISPATCH = 4, | 
|  | TKIND_COCLASS = 5, | 
|  | TKIND_ALIAS = 6, | 
|  | TKIND_UNION = 7, | 
|  | TKIND_MAX = 8 | 
|  | } TYPEKIND; | 
|  |  | 
|  | typedef struct tagTYPEDESC { | 
|  | __C89_NAMELESS union { | 
|  | struct tagTYPEDESC *lptdesc; | 
|  | struct tagARRAYDESC *lpadesc; | 
|  | HREFTYPE hreftype; | 
|  | } __C89_NAMELESSUNIONNAME; | 
|  | VARTYPE vt; | 
|  | } TYPEDESC; | 
|  |  | 
|  | typedef struct tagARRAYDESC { | 
|  | TYPEDESC tdescElem; | 
|  | USHORT cDims; | 
|  | SAFEARRAYBOUND rgbounds[1]; | 
|  | } ARRAYDESC; | 
|  |  | 
|  | typedef struct tagPARAMDESCEX { | 
|  | ULONG cBytes; | 
|  | VARIANTARG varDefaultValue; | 
|  | } PARAMDESCEX; | 
|  | typedef struct tagPARAMDESCEX *LPPARAMDESCEX; | 
|  |  | 
|  | typedef struct tagPARAMDESC { | 
|  | LPPARAMDESCEX pparamdescex; | 
|  | USHORT wParamFlags; | 
|  | } PARAMDESC; | 
|  | typedef struct tagPARAMDESC *LPPARAMDESC; | 
|  |  | 
|  | #define PARAMFLAG_NONE (0x0) | 
|  |  | 
|  | #define PARAMFLAG_FIN (0x1) | 
|  |  | 
|  | #define PARAMFLAG_FOUT (0x2) | 
|  |  | 
|  | #define PARAMFLAG_FLCID (0x4) | 
|  |  | 
|  | #define PARAMFLAG_FRETVAL (0x8) | 
|  |  | 
|  | #define PARAMFLAG_FOPT (0x10) | 
|  |  | 
|  | #define PARAMFLAG_FHASDEFAULT (0x20) | 
|  |  | 
|  | #define PARAMFLAG_FHASCUSTDATA (0x40) | 
|  |  | 
|  |  | 
|  | typedef struct tagIDLDESC { | 
|  | ULONG_PTR dwReserved; | 
|  | USHORT wIDLFlags; | 
|  | } IDLDESC; | 
|  | typedef struct tagIDLDESC *LPIDLDESC; | 
|  |  | 
|  | #define IDLFLAG_NONE (PARAMFLAG_NONE) | 
|  |  | 
|  | #define IDLFLAG_FIN (PARAMFLAG_FIN) | 
|  |  | 
|  | #define IDLFLAG_FOUT (PARAMFLAG_FOUT) | 
|  |  | 
|  | #define IDLFLAG_FLCID (PARAMFLAG_FLCID) | 
|  |  | 
|  | #define IDLFLAG_FRETVAL (PARAMFLAG_FRETVAL) | 
|  |  | 
|  |  | 
|  | #if 0 | 
|  | typedef struct tagELEMDESC { | 
|  | TYPEDESC tdesc; | 
|  | PARAMDESC paramdesc; | 
|  | } ELEMDESC; | 
|  | #else | 
|  |  | 
|  | typedef struct tagELEMDESC { | 
|  | TYPEDESC tdesc; | 
|  | __C89_NAMELESS union { | 
|  | IDLDESC idldesc; | 
|  | PARAMDESC paramdesc; | 
|  | } DUMMYUNIONNAME; | 
|  | } ELEMDESC,*LPELEMDESC; | 
|  | #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; | 
|  | typedef struct tagTYPEATTR *LPTYPEATTR; | 
|  |  | 
|  | typedef struct tagDISPPARAMS { | 
|  | VARIANTARG *rgvarg; | 
|  | DISPID *rgdispidNamedArgs; | 
|  | UINT cArgs; | 
|  | UINT cNamedArgs; | 
|  | } DISPPARAMS; | 
|  |  | 
|  | #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; | 
|  | #else | 
|  | typedef struct tagEXCEPINFO { | 
|  | WORD wCode; | 
|  | WORD wReserved; | 
|  | BSTR bstrSource; | 
|  | BSTR bstrDescription; | 
|  | BSTR bstrHelpFile; | 
|  | DWORD dwHelpContext; | 
|  | PVOID pvReserved; | 
|  | HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *); | 
|  | SCODE scode; | 
|  | } EXCEPINFO, *LPEXCEPINFO; | 
|  | #endif | 
|  |  | 
|  | typedef 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 enum tagFUNCKIND { | 
|  | FUNC_VIRTUAL = 0, | 
|  | FUNC_PUREVIRTUAL = 1, | 
|  | FUNC_NONVIRTUAL = 2, | 
|  | FUNC_STATIC = 3, | 
|  | FUNC_DISPATCH = 4 | 
|  | } FUNCKIND; | 
|  |  | 
|  | typedef enum tagINVOKEKIND { | 
|  | INVOKE_FUNC = 1, | 
|  | INVOKE_PROPERTYGET = 2, | 
|  | INVOKE_PROPERTYPUT = 4, | 
|  | INVOKE_PROPERTYPUTREF = 8 | 
|  | } INVOKEKIND; | 
|  |  | 
|  | typedef struct tagFUNCDESC { | 
|  | MEMBERID memid; | 
|  | SCODE *lprgscode; | 
|  | ELEMDESC *lprgelemdescParam; | 
|  | FUNCKIND funckind; | 
|  | INVOKEKIND invkind; | 
|  | CALLCONV callconv; | 
|  | SHORT cParams; | 
|  | SHORT cParamsOpt; | 
|  | SHORT oVft; | 
|  | SHORT cScodes; | 
|  | ELEMDESC elemdescFunc; | 
|  | WORD wFuncFlags; | 
|  | } FUNCDESC; | 
|  | typedef struct tagFUNCDESC *LPFUNCDESC; | 
|  |  | 
|  | typedef enum tagVARKIND { | 
|  | VAR_PERINSTANCE = 0, | 
|  | VAR_STATIC = 1, | 
|  | VAR_CONST = 2, | 
|  | VAR_DISPATCH = 3 | 
|  | } VARKIND; | 
|  |  | 
|  | #define IMPLTYPEFLAG_FDEFAULT (0x1) | 
|  |  | 
|  | #define IMPLTYPEFLAG_FSOURCE (0x2) | 
|  |  | 
|  | #define IMPLTYPEFLAG_FRESTRICTED (0x4) | 
|  |  | 
|  | #define IMPLTYPEFLAG_FDEFAULTVTABLE (0x8) | 
|  |  | 
|  |  | 
|  | typedef struct tagVARDESC { | 
|  | MEMBERID memid; | 
|  | LPOLESTR lpstrSchema; | 
|  | __C89_NAMELESS union { | 
|  | ULONG oInst; | 
|  | VARIANT *lpvarValue; | 
|  | } __C89_NAMELESSUNIONNAME; | 
|  | ELEMDESC elemdescVar; | 
|  | WORD wVarFlags; | 
|  | VARKIND varkind; | 
|  | } VARDESC; | 
|  | typedef struct tagVARDESC *LPVARDESC; | 
|  |  | 
|  | typedef enum tagTYPEFLAGS { | 
|  | TYPEFLAG_FAPPOBJECT = 0x1, | 
|  | TYPEFLAG_FCANCREATE = 0x2, | 
|  | TYPEFLAG_FLICENSED = 0x4, | 
|  | TYPEFLAG_FPREDECLID = 0x8, | 
|  | TYPEFLAG_FHIDDEN = 0x10, | 
|  | TYPEFLAG_FCONTROL = 0x20, | 
|  | TYPEFLAG_FDUAL = 0x40, | 
|  | TYPEFLAG_FNONEXTENSIBLE = 0x80, | 
|  | TYPEFLAG_FOLEAUTOMATION = 0x100, | 
|  | TYPEFLAG_FRESTRICTED = 0x200, | 
|  | TYPEFLAG_FAGGREGATABLE = 0x400, | 
|  | TYPEFLAG_FREPLACEABLE = 0x800, | 
|  | TYPEFLAG_FDISPATCHABLE = 0x1000, | 
|  | TYPEFLAG_FREVERSEBIND = 0x2000, | 
|  | TYPEFLAG_FPROXY = 0x4000 | 
|  | } TYPEFLAGS; | 
|  |  | 
|  | typedef enum tagFUNCFLAGS { | 
|  | FUNCFLAG_FRESTRICTED = 0x1, | 
|  | FUNCFLAG_FSOURCE = 0x2, | 
|  | FUNCFLAG_FBINDABLE = 0x4, | 
|  | FUNCFLAG_FREQUESTEDIT = 0x8, | 
|  | FUNCFLAG_FDISPLAYBIND = 0x10, | 
|  | FUNCFLAG_FDEFAULTBIND = 0x20, | 
|  | FUNCFLAG_FHIDDEN = 0x40, | 
|  | FUNCFLAG_FUSESGETLASTERROR = 0x80, | 
|  | FUNCFLAG_FDEFAULTCOLLELEM = 0x100, | 
|  | FUNCFLAG_FUIDEFAULT = 0x200, | 
|  | FUNCFLAG_FNONBROWSABLE = 0x400, | 
|  | FUNCFLAG_FREPLACEABLE = 0x800, | 
|  | FUNCFLAG_FIMMEDIATEBIND = 0x1000 | 
|  | } FUNCFLAGS; | 
|  |  | 
|  | typedef enum tagVARFLAGS { | 
|  | VARFLAG_FREADONLY = 0x1, | 
|  | VARFLAG_FSOURCE = 0x2, | 
|  | VARFLAG_FBINDABLE = 0x4, | 
|  | VARFLAG_FREQUESTEDIT = 0x8, | 
|  | VARFLAG_FDISPLAYBIND = 0x10, | 
|  | VARFLAG_FDEFAULTBIND = 0x20, | 
|  | VARFLAG_FHIDDEN = 0x40, | 
|  | VARFLAG_FRESTRICTED = 0x80, | 
|  | VARFLAG_FDEFAULTCOLLELEM = 0x100, | 
|  | VARFLAG_FUIDEFAULT = 0x200, | 
|  | VARFLAG_FNONBROWSABLE = 0x400, | 
|  | VARFLAG_FREPLACEABLE = 0x800, | 
|  | VARFLAG_FIMMEDIATEBIND = 0x1000 | 
|  | } VARFLAGS; | 
|  |  | 
|  | typedef struct tagCLEANLOCALSTORAGE { | 
|  | IUnknown *pInterface; | 
|  | PVOID pStorage; | 
|  | DWORD flags; | 
|  | } CLEANLOCALSTORAGE; | 
|  |  | 
|  | typedef struct tagCUSTDATAITEM { | 
|  | GUID guid; | 
|  | VARIANTARG varValue; | 
|  | } CUSTDATAITEM; | 
|  | typedef struct tagCUSTDATAITEM *LPCUSTDATAITEM; | 
|  |  | 
|  | typedef struct tagCUSTDATA { | 
|  | DWORD cCustData; | 
|  | LPCUSTDATAITEM prgCustData; | 
|  | } CUSTDATA; | 
|  | typedef struct tagCUSTDATA *LPCUSTDATA; | 
|  |  | 
|  | #endif  /* __IOleAutomationTypes_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | 
|  | /***************************************************************************** | 
|  | * ICreateTypeInfo interface | 
|  | */ | 
|  | #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__ | 
|  | #define __ICreateTypeInfo_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ICreateTypeInfo *LPCREATETYPEINFO; | 
|  |  | 
|  | DEFINE_GUID(IID_ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020405-0000-0000-c000-000000000046") | 
|  | ICreateTypeInfo : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetGuid( | 
|  | REFGUID guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTypeFlags( | 
|  | UINT uTypeFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDocString( | 
|  | LPOLESTR pStrDoc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetHelpContext( | 
|  | DWORD dwHelpContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVersion( | 
|  | WORD wMajorVerNum, | 
|  | WORD wMinorVerNum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddRefTypeInfo( | 
|  | ITypeInfo *pTInfo, | 
|  | HREFTYPE *phRefType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddFuncDesc( | 
|  | UINT index, | 
|  | FUNCDESC *pFuncDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddImplType( | 
|  | UINT index, | 
|  | HREFTYPE hRefType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetImplTypeFlags( | 
|  | UINT index, | 
|  | INT implTypeFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetAlignment( | 
|  | WORD cbAlignment) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSchema( | 
|  | LPOLESTR pStrSchema) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddVarDesc( | 
|  | UINT index, | 
|  | VARDESC *pVarDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFuncAndParamNames( | 
|  | UINT index, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVarName( | 
|  | UINT index, | 
|  | LPOLESTR szName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTypeDescAlias( | 
|  | TYPEDESC *pTDescAlias) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DefineFuncAsDllEntry( | 
|  | UINT index, | 
|  | LPOLESTR szDllName, | 
|  | LPOLESTR szProcName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFuncDocString( | 
|  | UINT index, | 
|  | LPOLESTR szDocString) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVarDocString( | 
|  | UINT index, | 
|  | LPOLESTR szDocString) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFuncHelpContext( | 
|  | UINT index, | 
|  | DWORD dwHelpContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVarHelpContext( | 
|  | UINT index, | 
|  | DWORD dwHelpContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMops( | 
|  | UINT index, | 
|  | BSTR bstrMops) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTypeIdldesc( | 
|  | IDLDESC *pIdlDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE LayOut( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ICreateTypeInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICreateTypeInfo *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICreateTypeInfo *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICreateTypeInfo *This); | 
|  |  | 
|  | /*** ICreateTypeInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetGuid)( | 
|  | ICreateTypeInfo *This, | 
|  | REFGUID guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTypeFlags)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT uTypeFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDocString)( | 
|  | ICreateTypeInfo *This, | 
|  | LPOLESTR pStrDoc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpContext)( | 
|  | ICreateTypeInfo *This, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVersion)( | 
|  | ICreateTypeInfo *This, | 
|  | WORD wMajorVerNum, | 
|  | WORD wMinorVerNum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)( | 
|  | ICreateTypeInfo *This, | 
|  | ITypeInfo *pTInfo, | 
|  | HREFTYPE *phRefType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddFuncDesc)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | FUNCDESC *pFuncDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddImplType)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | HREFTYPE hRefType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | INT implTypeFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetAlignment)( | 
|  | ICreateTypeInfo *This, | 
|  | WORD cbAlignment); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSchema)( | 
|  | ICreateTypeInfo *This, | 
|  | LPOLESTR pStrSchema); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddVarDesc)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | VARDESC *pVarDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVarName)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | LPOLESTR szName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)( | 
|  | ICreateTypeInfo *This, | 
|  | TYPEDESC *pTDescAlias); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | LPOLESTR szDllName, | 
|  | LPOLESTR szProcName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFuncDocString)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | LPOLESTR szDocString); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVarDocString)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | LPOLESTR szDocString); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMops)( | 
|  | ICreateTypeInfo *This, | 
|  | UINT index, | 
|  | BSTR bstrMops); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)( | 
|  | ICreateTypeInfo *This, | 
|  | IDLDESC *pIdlDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *LayOut)( | 
|  | ICreateTypeInfo *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ICreateTypeInfoVtbl; | 
|  |  | 
|  | interface ICreateTypeInfo { | 
|  | CONST_VTBL ICreateTypeInfoVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICreateTypeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICreateTypeInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICreateTypeInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ICreateTypeInfo methods ***/ | 
|  | #define ICreateTypeInfo_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid) | 
|  | #define ICreateTypeInfo_SetTypeFlags(This,uTypeFlags) (This)->lpVtbl->SetTypeFlags(This,uTypeFlags) | 
|  | #define ICreateTypeInfo_SetDocString(This,pStrDoc) (This)->lpVtbl->SetDocString(This,pStrDoc) | 
|  | #define ICreateTypeInfo_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) | 
|  | #define ICreateTypeInfo_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum) | 
|  | #define ICreateTypeInfo_AddRefTypeInfo(This,pTInfo,phRefType) (This)->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType) | 
|  | #define ICreateTypeInfo_AddFuncDesc(This,index,pFuncDesc) (This)->lpVtbl->AddFuncDesc(This,index,pFuncDesc) | 
|  | #define ICreateTypeInfo_AddImplType(This,index,hRefType) (This)->lpVtbl->AddImplType(This,index,hRefType) | 
|  | #define ICreateTypeInfo_SetImplTypeFlags(This,index,implTypeFlags) (This)->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags) | 
|  | #define ICreateTypeInfo_SetAlignment(This,cbAlignment) (This)->lpVtbl->SetAlignment(This,cbAlignment) | 
|  | #define ICreateTypeInfo_SetSchema(This,pStrSchema) (This)->lpVtbl->SetSchema(This,pStrSchema) | 
|  | #define ICreateTypeInfo_AddVarDesc(This,index,pVarDesc) (This)->lpVtbl->AddVarDesc(This,index,pVarDesc) | 
|  | #define ICreateTypeInfo_SetFuncAndParamNames(This,index,rgszNames,cNames) (This)->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,cNames) | 
|  | #define ICreateTypeInfo_SetVarName(This,index,szName) (This)->lpVtbl->SetVarName(This,index,szName) | 
|  | #define ICreateTypeInfo_SetTypeDescAlias(This,pTDescAlias) (This)->lpVtbl->SetTypeDescAlias(This,pTDescAlias) | 
|  | #define ICreateTypeInfo_DefineFuncAsDllEntry(This,index,szDllName,szProcName) (This)->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,szProcName) | 
|  | #define ICreateTypeInfo_SetFuncDocString(This,index,szDocString) (This)->lpVtbl->SetFuncDocString(This,index,szDocString) | 
|  | #define ICreateTypeInfo_SetVarDocString(This,index,szDocString) (This)->lpVtbl->SetVarDocString(This,index,szDocString) | 
|  | #define ICreateTypeInfo_SetFuncHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetFuncHelpContext(This,index,dwHelpContext) | 
|  | #define ICreateTypeInfo_SetVarHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetVarHelpContext(This,index,dwHelpContext) | 
|  | #define ICreateTypeInfo_SetMops(This,index,bstrMops) (This)->lpVtbl->SetMops(This,index,bstrMops) | 
|  | #define ICreateTypeInfo_SetTypeIdldesc(This,pIdlDesc) (This)->lpVtbl->SetTypeIdldesc(This,pIdlDesc) | 
|  | #define ICreateTypeInfo_LayOut(This) (This)->lpVtbl->LayOut(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_QueryInterface(ICreateTypeInfo* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateTypeInfo_AddRef(ICreateTypeInfo* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateTypeInfo_Release(ICreateTypeInfo* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ICreateTypeInfo methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetGuid(ICreateTypeInfo* This,REFGUID guid) { | 
|  | return This->lpVtbl->SetGuid(This,guid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetTypeFlags(ICreateTypeInfo* This,UINT uTypeFlags) { | 
|  | return This->lpVtbl->SetTypeFlags(This,uTypeFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetDocString(ICreateTypeInfo* This,LPOLESTR pStrDoc) { | 
|  | return This->lpVtbl->SetDocString(This,pStrDoc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetHelpContext(ICreateTypeInfo* This,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetHelpContext(This,dwHelpContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetVersion(ICreateTypeInfo* This,WORD wMajorVerNum,WORD wMinorVerNum) { | 
|  | return This->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_AddRefTypeInfo(ICreateTypeInfo* This,ITypeInfo *pTInfo,HREFTYPE *phRefType) { | 
|  | return This->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_AddFuncDesc(ICreateTypeInfo* This,UINT index,FUNCDESC *pFuncDesc) { | 
|  | return This->lpVtbl->AddFuncDesc(This,index,pFuncDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_AddImplType(ICreateTypeInfo* This,UINT index,HREFTYPE hRefType) { | 
|  | return This->lpVtbl->AddImplType(This,index,hRefType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetImplTypeFlags(ICreateTypeInfo* This,UINT index,INT implTypeFlags) { | 
|  | return This->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetAlignment(ICreateTypeInfo* This,WORD cbAlignment) { | 
|  | return This->lpVtbl->SetAlignment(This,cbAlignment); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetSchema(ICreateTypeInfo* This,LPOLESTR pStrSchema) { | 
|  | return This->lpVtbl->SetSchema(This,pStrSchema); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_AddVarDesc(ICreateTypeInfo* This,UINT index,VARDESC *pVarDesc) { | 
|  | return This->lpVtbl->AddVarDesc(This,index,pVarDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetFuncAndParamNames(ICreateTypeInfo* This,UINT index,LPOLESTR *rgszNames,UINT cNames) { | 
|  | return This->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,cNames); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetVarName(ICreateTypeInfo* This,UINT index,LPOLESTR szName) { | 
|  | return This->lpVtbl->SetVarName(This,index,szName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetTypeDescAlias(ICreateTypeInfo* This,TYPEDESC *pTDescAlias) { | 
|  | return This->lpVtbl->SetTypeDescAlias(This,pTDescAlias); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_DefineFuncAsDllEntry(ICreateTypeInfo* This,UINT index,LPOLESTR szDllName,LPOLESTR szProcName) { | 
|  | return This->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,szProcName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetFuncDocString(ICreateTypeInfo* This,UINT index,LPOLESTR szDocString) { | 
|  | return This->lpVtbl->SetFuncDocString(This,index,szDocString); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetVarDocString(ICreateTypeInfo* This,UINT index,LPOLESTR szDocString) { | 
|  | return This->lpVtbl->SetVarDocString(This,index,szDocString); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetFuncHelpContext(ICreateTypeInfo* This,UINT index,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetFuncHelpContext(This,index,dwHelpContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetVarHelpContext(ICreateTypeInfo* This,UINT index,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetVarHelpContext(This,index,dwHelpContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetMops(ICreateTypeInfo* This,UINT index,BSTR bstrMops) { | 
|  | return This->lpVtbl->SetMops(This,index,bstrMops); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_SetTypeIdldesc(ICreateTypeInfo* This,IDLDESC *pIdlDesc) { | 
|  | return This->lpVtbl->SetTypeIdldesc(This,pIdlDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo_LayOut(ICreateTypeInfo* This) { | 
|  | return This->lpVtbl->LayOut(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ICreateTypeInfo_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICreateTypeInfo2 interface | 
|  | */ | 
|  | #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__ | 
|  | #define __ICreateTypeInfo2_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ICreateTypeInfo2 *LPCREATETYPEINFO2; | 
|  |  | 
|  | DEFINE_GUID(IID_ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("0002040e-0000-0000-c000-000000000046") | 
|  | ICreateTypeInfo2 : public ICreateTypeInfo | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE DeleteFuncDesc( | 
|  | UINT index) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DeleteFuncDescByMemId( | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DeleteVarDesc( | 
|  | UINT index) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DeleteVarDescByMemId( | 
|  | MEMBERID memid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DeleteImplType( | 
|  | UINT index) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetCustData( | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFuncCustData( | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetParamCustData( | 
|  | UINT indexFunc, | 
|  | UINT indexParam, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVarCustData( | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetImplTypeCustData( | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext( | 
|  | ULONG dwHelpStringContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFuncHelpStringContext( | 
|  | UINT index, | 
|  | ULONG dwHelpStringContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVarHelpStringContext( | 
|  | UINT index, | 
|  | ULONG dwHelpStringContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Invalidate( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetName( | 
|  | LPOLESTR szName) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ICreateTypeInfo2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICreateTypeInfo2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICreateTypeInfo2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICreateTypeInfo2 *This); | 
|  |  | 
|  | /*** ICreateTypeInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetGuid)( | 
|  | ICreateTypeInfo2 *This, | 
|  | REFGUID guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTypeFlags)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT uTypeFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDocString)( | 
|  | ICreateTypeInfo2 *This, | 
|  | LPOLESTR pStrDoc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpContext)( | 
|  | ICreateTypeInfo2 *This, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVersion)( | 
|  | ICreateTypeInfo2 *This, | 
|  | WORD wMajorVerNum, | 
|  | WORD wMinorVerNum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)( | 
|  | ICreateTypeInfo2 *This, | 
|  | ITypeInfo *pTInfo, | 
|  | HREFTYPE *phRefType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddFuncDesc)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | FUNCDESC *pFuncDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddImplType)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | HREFTYPE hRefType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | INT implTypeFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetAlignment)( | 
|  | ICreateTypeInfo2 *This, | 
|  | WORD cbAlignment); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSchema)( | 
|  | ICreateTypeInfo2 *This, | 
|  | LPOLESTR pStrSchema); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddVarDesc)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | VARDESC *pVarDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVarName)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | LPOLESTR szName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)( | 
|  | ICreateTypeInfo2 *This, | 
|  | TYPEDESC *pTDescAlias); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | LPOLESTR szDllName, | 
|  | LPOLESTR szProcName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFuncDocString)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | LPOLESTR szDocString); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVarDocString)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | LPOLESTR szDocString); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMops)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | BSTR bstrMops); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)( | 
|  | ICreateTypeInfo2 *This, | 
|  | IDLDESC *pIdlDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *LayOut)( | 
|  | ICreateTypeInfo2 *This); | 
|  |  | 
|  | /*** ICreateTypeInfo2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteFuncDesc)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteFuncDescByMemId)( | 
|  | ICreateTypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteVarDesc)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteVarDescByMemId)( | 
|  | ICreateTypeInfo2 *This, | 
|  | MEMBERID memid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteImplType)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetCustData)( | 
|  | ICreateTypeInfo2 *This, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFuncCustData)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetParamCustData)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT indexFunc, | 
|  | UINT indexParam, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVarCustData)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetImplTypeCustData)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)( | 
|  | ICreateTypeInfo2 *This, | 
|  | ULONG dwHelpStringContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFuncHelpStringContext)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | ULONG dwHelpStringContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVarHelpStringContext)( | 
|  | ICreateTypeInfo2 *This, | 
|  | UINT index, | 
|  | ULONG dwHelpStringContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invalidate)( | 
|  | ICreateTypeInfo2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetName)( | 
|  | ICreateTypeInfo2 *This, | 
|  | LPOLESTR szName); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ICreateTypeInfo2Vtbl; | 
|  |  | 
|  | interface ICreateTypeInfo2 { | 
|  | CONST_VTBL ICreateTypeInfo2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICreateTypeInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICreateTypeInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICreateTypeInfo2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ICreateTypeInfo methods ***/ | 
|  | #define ICreateTypeInfo2_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid) | 
|  | #define ICreateTypeInfo2_SetTypeFlags(This,uTypeFlags) (This)->lpVtbl->SetTypeFlags(This,uTypeFlags) | 
|  | #define ICreateTypeInfo2_SetDocString(This,pStrDoc) (This)->lpVtbl->SetDocString(This,pStrDoc) | 
|  | #define ICreateTypeInfo2_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) | 
|  | #define ICreateTypeInfo2_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum) | 
|  | #define ICreateTypeInfo2_AddRefTypeInfo(This,pTInfo,phRefType) (This)->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType) | 
|  | #define ICreateTypeInfo2_AddFuncDesc(This,index,pFuncDesc) (This)->lpVtbl->AddFuncDesc(This,index,pFuncDesc) | 
|  | #define ICreateTypeInfo2_AddImplType(This,index,hRefType) (This)->lpVtbl->AddImplType(This,index,hRefType) | 
|  | #define ICreateTypeInfo2_SetImplTypeFlags(This,index,implTypeFlags) (This)->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags) | 
|  | #define ICreateTypeInfo2_SetAlignment(This,cbAlignment) (This)->lpVtbl->SetAlignment(This,cbAlignment) | 
|  | #define ICreateTypeInfo2_SetSchema(This,pStrSchema) (This)->lpVtbl->SetSchema(This,pStrSchema) | 
|  | #define ICreateTypeInfo2_AddVarDesc(This,index,pVarDesc) (This)->lpVtbl->AddVarDesc(This,index,pVarDesc) | 
|  | #define ICreateTypeInfo2_SetFuncAndParamNames(This,index,rgszNames,cNames) (This)->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,cNames) | 
|  | #define ICreateTypeInfo2_SetVarName(This,index,szName) (This)->lpVtbl->SetVarName(This,index,szName) | 
|  | #define ICreateTypeInfo2_SetTypeDescAlias(This,pTDescAlias) (This)->lpVtbl->SetTypeDescAlias(This,pTDescAlias) | 
|  | #define ICreateTypeInfo2_DefineFuncAsDllEntry(This,index,szDllName,szProcName) (This)->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,szProcName) | 
|  | #define ICreateTypeInfo2_SetFuncDocString(This,index,szDocString) (This)->lpVtbl->SetFuncDocString(This,index,szDocString) | 
|  | #define ICreateTypeInfo2_SetVarDocString(This,index,szDocString) (This)->lpVtbl->SetVarDocString(This,index,szDocString) | 
|  | #define ICreateTypeInfo2_SetFuncHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetFuncHelpContext(This,index,dwHelpContext) | 
|  | #define ICreateTypeInfo2_SetVarHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetVarHelpContext(This,index,dwHelpContext) | 
|  | #define ICreateTypeInfo2_SetMops(This,index,bstrMops) (This)->lpVtbl->SetMops(This,index,bstrMops) | 
|  | #define ICreateTypeInfo2_SetTypeIdldesc(This,pIdlDesc) (This)->lpVtbl->SetTypeIdldesc(This,pIdlDesc) | 
|  | #define ICreateTypeInfo2_LayOut(This) (This)->lpVtbl->LayOut(This) | 
|  | /*** ICreateTypeInfo2 methods ***/ | 
|  | #define ICreateTypeInfo2_DeleteFuncDesc(This,index) (This)->lpVtbl->DeleteFuncDesc(This,index) | 
|  | #define ICreateTypeInfo2_DeleteFuncDescByMemId(This,memid,invKind) (This)->lpVtbl->DeleteFuncDescByMemId(This,memid,invKind) | 
|  | #define ICreateTypeInfo2_DeleteVarDesc(This,index) (This)->lpVtbl->DeleteVarDesc(This,index) | 
|  | #define ICreateTypeInfo2_DeleteVarDescByMemId(This,memid) (This)->lpVtbl->DeleteVarDescByMemId(This,memid) | 
|  | #define ICreateTypeInfo2_DeleteImplType(This,index) (This)->lpVtbl->DeleteImplType(This,index) | 
|  | #define ICreateTypeInfo2_SetCustData(This,guid,pVarVal) (This)->lpVtbl->SetCustData(This,guid,pVarVal) | 
|  | #define ICreateTypeInfo2_SetFuncCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetFuncCustData(This,index,guid,pVarVal) | 
|  | #define ICreateTypeInfo2_SetParamCustData(This,indexFunc,indexParam,guid,pVarVal) (This)->lpVtbl->SetParamCustData(This,indexFunc,indexParam,guid,pVarVal) | 
|  | #define ICreateTypeInfo2_SetVarCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetVarCustData(This,index,guid,pVarVal) | 
|  | #define ICreateTypeInfo2_SetImplTypeCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetImplTypeCustData(This,index,guid,pVarVal) | 
|  | #define ICreateTypeInfo2_SetHelpStringContext(This,dwHelpStringContext) (This)->lpVtbl->SetHelpStringContext(This,dwHelpStringContext) | 
|  | #define ICreateTypeInfo2_SetFuncHelpStringContext(This,index,dwHelpStringContext) (This)->lpVtbl->SetFuncHelpStringContext(This,index,dwHelpStringContext) | 
|  | #define ICreateTypeInfo2_SetVarHelpStringContext(This,index,dwHelpStringContext) (This)->lpVtbl->SetVarHelpStringContext(This,index,dwHelpStringContext) | 
|  | #define ICreateTypeInfo2_Invalidate(This) (This)->lpVtbl->Invalidate(This) | 
|  | #define ICreateTypeInfo2_SetName(This,szName) (This)->lpVtbl->SetName(This,szName) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_QueryInterface(ICreateTypeInfo2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateTypeInfo2_AddRef(ICreateTypeInfo2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateTypeInfo2_Release(ICreateTypeInfo2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ICreateTypeInfo methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetGuid(ICreateTypeInfo2* This,REFGUID guid) { | 
|  | return This->lpVtbl->SetGuid(This,guid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetTypeFlags(ICreateTypeInfo2* This,UINT uTypeFlags) { | 
|  | return This->lpVtbl->SetTypeFlags(This,uTypeFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetDocString(ICreateTypeInfo2* This,LPOLESTR pStrDoc) { | 
|  | return This->lpVtbl->SetDocString(This,pStrDoc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetHelpContext(ICreateTypeInfo2* This,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetHelpContext(This,dwHelpContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetVersion(ICreateTypeInfo2* This,WORD wMajorVerNum,WORD wMinorVerNum) { | 
|  | return This->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_AddRefTypeInfo(ICreateTypeInfo2* This,ITypeInfo *pTInfo,HREFTYPE *phRefType) { | 
|  | return This->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_AddFuncDesc(ICreateTypeInfo2* This,UINT index,FUNCDESC *pFuncDesc) { | 
|  | return This->lpVtbl->AddFuncDesc(This,index,pFuncDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_AddImplType(ICreateTypeInfo2* This,UINT index,HREFTYPE hRefType) { | 
|  | return This->lpVtbl->AddImplType(This,index,hRefType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetImplTypeFlags(ICreateTypeInfo2* This,UINT index,INT implTypeFlags) { | 
|  | return This->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetAlignment(ICreateTypeInfo2* This,WORD cbAlignment) { | 
|  | return This->lpVtbl->SetAlignment(This,cbAlignment); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetSchema(ICreateTypeInfo2* This,LPOLESTR pStrSchema) { | 
|  | return This->lpVtbl->SetSchema(This,pStrSchema); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_AddVarDesc(ICreateTypeInfo2* This,UINT index,VARDESC *pVarDesc) { | 
|  | return This->lpVtbl->AddVarDesc(This,index,pVarDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetFuncAndParamNames(ICreateTypeInfo2* This,UINT index,LPOLESTR *rgszNames,UINT cNames) { | 
|  | return This->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,cNames); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetVarName(ICreateTypeInfo2* This,UINT index,LPOLESTR szName) { | 
|  | return This->lpVtbl->SetVarName(This,index,szName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetTypeDescAlias(ICreateTypeInfo2* This,TYPEDESC *pTDescAlias) { | 
|  | return This->lpVtbl->SetTypeDescAlias(This,pTDescAlias); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_DefineFuncAsDllEntry(ICreateTypeInfo2* This,UINT index,LPOLESTR szDllName,LPOLESTR szProcName) { | 
|  | return This->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,szProcName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetFuncDocString(ICreateTypeInfo2* This,UINT index,LPOLESTR szDocString) { | 
|  | return This->lpVtbl->SetFuncDocString(This,index,szDocString); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetVarDocString(ICreateTypeInfo2* This,UINT index,LPOLESTR szDocString) { | 
|  | return This->lpVtbl->SetVarDocString(This,index,szDocString); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetFuncHelpContext(ICreateTypeInfo2* This,UINT index,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetFuncHelpContext(This,index,dwHelpContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetVarHelpContext(ICreateTypeInfo2* This,UINT index,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetVarHelpContext(This,index,dwHelpContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetMops(ICreateTypeInfo2* This,UINT index,BSTR bstrMops) { | 
|  | return This->lpVtbl->SetMops(This,index,bstrMops); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetTypeIdldesc(ICreateTypeInfo2* This,IDLDESC *pIdlDesc) { | 
|  | return This->lpVtbl->SetTypeIdldesc(This,pIdlDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_LayOut(ICreateTypeInfo2* This) { | 
|  | return This->lpVtbl->LayOut(This); | 
|  | } | 
|  | /*** ICreateTypeInfo2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_DeleteFuncDesc(ICreateTypeInfo2* This,UINT index) { | 
|  | return This->lpVtbl->DeleteFuncDesc(This,index); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_DeleteFuncDescByMemId(ICreateTypeInfo2* This,MEMBERID memid,INVOKEKIND invKind) { | 
|  | return This->lpVtbl->DeleteFuncDescByMemId(This,memid,invKind); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_DeleteVarDesc(ICreateTypeInfo2* This,UINT index) { | 
|  | return This->lpVtbl->DeleteVarDesc(This,index); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_DeleteVarDescByMemId(ICreateTypeInfo2* This,MEMBERID memid) { | 
|  | return This->lpVtbl->DeleteVarDescByMemId(This,memid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_DeleteImplType(ICreateTypeInfo2* This,UINT index) { | 
|  | return This->lpVtbl->DeleteImplType(This,index); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetCustData(ICreateTypeInfo2* This,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->SetCustData(This,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetFuncCustData(ICreateTypeInfo2* This,UINT index,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->SetFuncCustData(This,index,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetParamCustData(ICreateTypeInfo2* This,UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->SetParamCustData(This,indexFunc,indexParam,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetVarCustData(ICreateTypeInfo2* This,UINT index,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->SetVarCustData(This,index,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetImplTypeCustData(ICreateTypeInfo2* This,UINT index,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->SetImplTypeCustData(This,index,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetHelpStringContext(ICreateTypeInfo2* This,ULONG dwHelpStringContext) { | 
|  | return This->lpVtbl->SetHelpStringContext(This,dwHelpStringContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetFuncHelpStringContext(ICreateTypeInfo2* This,UINT index,ULONG dwHelpStringContext) { | 
|  | return This->lpVtbl->SetFuncHelpStringContext(This,index,dwHelpStringContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetVarHelpStringContext(ICreateTypeInfo2* This,UINT index,ULONG dwHelpStringContext) { | 
|  | return This->lpVtbl->SetVarHelpStringContext(This,index,dwHelpStringContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_Invalidate(ICreateTypeInfo2* This) { | 
|  | return This->lpVtbl->Invalidate(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeInfo2_SetName(ICreateTypeInfo2* This,LPOLESTR szName) { | 
|  | return This->lpVtbl->SetName(This,szName); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICreateTypeLib interface | 
|  | */ | 
|  | #ifndef __ICreateTypeLib_INTERFACE_DEFINED__ | 
|  | #define __ICreateTypeLib_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ICreateTypeLib *LPCREATETYPELIB; | 
|  |  | 
|  | DEFINE_GUID(IID_ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020406-0000-0000-c000-000000000046") | 
|  | ICreateTypeLib : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateTypeInfo( | 
|  | LPOLESTR szName, | 
|  | TYPEKIND tkind, | 
|  | ICreateTypeInfo **ppCTInfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetName( | 
|  | LPOLESTR szName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVersion( | 
|  | WORD wMajorVerNum, | 
|  | WORD wMinorVerNum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetGuid( | 
|  | REFGUID guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDocString( | 
|  | LPOLESTR szDoc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetHelpFileName( | 
|  | LPOLESTR szHelpFileName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetHelpContext( | 
|  | DWORD dwHelpContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetLcid( | 
|  | LCID lcid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetLibFlags( | 
|  | UINT uLibFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SaveAllChanges( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ICreateTypeLibVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICreateTypeLib *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICreateTypeLib *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICreateTypeLib *This); | 
|  |  | 
|  | /*** ICreateTypeLib methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)( | 
|  | ICreateTypeLib *This, | 
|  | LPOLESTR szName, | 
|  | TYPEKIND tkind, | 
|  | ICreateTypeInfo **ppCTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetName)( | 
|  | ICreateTypeLib *This, | 
|  | LPOLESTR szName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVersion)( | 
|  | ICreateTypeLib *This, | 
|  | WORD wMajorVerNum, | 
|  | WORD wMinorVerNum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetGuid)( | 
|  | ICreateTypeLib *This, | 
|  | REFGUID guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDocString)( | 
|  | ICreateTypeLib *This, | 
|  | LPOLESTR szDoc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpFileName)( | 
|  | ICreateTypeLib *This, | 
|  | LPOLESTR szHelpFileName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpContext)( | 
|  | ICreateTypeLib *This, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLcid)( | 
|  | ICreateTypeLib *This, | 
|  | LCID lcid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLibFlags)( | 
|  | ICreateTypeLib *This, | 
|  | UINT uLibFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SaveAllChanges)( | 
|  | ICreateTypeLib *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ICreateTypeLibVtbl; | 
|  |  | 
|  | interface ICreateTypeLib { | 
|  | CONST_VTBL ICreateTypeLibVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICreateTypeLib_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICreateTypeLib_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICreateTypeLib_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ICreateTypeLib methods ***/ | 
|  | #define ICreateTypeLib_CreateTypeInfo(This,szName,tkind,ppCTInfo) (This)->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo) | 
|  | #define ICreateTypeLib_SetName(This,szName) (This)->lpVtbl->SetName(This,szName) | 
|  | #define ICreateTypeLib_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum) | 
|  | #define ICreateTypeLib_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid) | 
|  | #define ICreateTypeLib_SetDocString(This,szDoc) (This)->lpVtbl->SetDocString(This,szDoc) | 
|  | #define ICreateTypeLib_SetHelpFileName(This,szHelpFileName) (This)->lpVtbl->SetHelpFileName(This,szHelpFileName) | 
|  | #define ICreateTypeLib_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) | 
|  | #define ICreateTypeLib_SetLcid(This,lcid) (This)->lpVtbl->SetLcid(This,lcid) | 
|  | #define ICreateTypeLib_SetLibFlags(This,uLibFlags) (This)->lpVtbl->SetLibFlags(This,uLibFlags) | 
|  | #define ICreateTypeLib_SaveAllChanges(This) (This)->lpVtbl->SaveAllChanges(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_QueryInterface(ICreateTypeLib* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateTypeLib_AddRef(ICreateTypeLib* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateTypeLib_Release(ICreateTypeLib* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ICreateTypeLib methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_CreateTypeInfo(ICreateTypeLib* This,LPOLESTR szName,TYPEKIND tkind,ICreateTypeInfo **ppCTInfo) { | 
|  | return This->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SetName(ICreateTypeLib* This,LPOLESTR szName) { | 
|  | return This->lpVtbl->SetName(This,szName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SetVersion(ICreateTypeLib* This,WORD wMajorVerNum,WORD wMinorVerNum) { | 
|  | return This->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SetGuid(ICreateTypeLib* This,REFGUID guid) { | 
|  | return This->lpVtbl->SetGuid(This,guid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SetDocString(ICreateTypeLib* This,LPOLESTR szDoc) { | 
|  | return This->lpVtbl->SetDocString(This,szDoc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SetHelpFileName(ICreateTypeLib* This,LPOLESTR szHelpFileName) { | 
|  | return This->lpVtbl->SetHelpFileName(This,szHelpFileName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SetHelpContext(ICreateTypeLib* This,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetHelpContext(This,dwHelpContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SetLcid(ICreateTypeLib* This,LCID lcid) { | 
|  | return This->lpVtbl->SetLcid(This,lcid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SetLibFlags(ICreateTypeLib* This,UINT uLibFlags) { | 
|  | return This->lpVtbl->SetLibFlags(This,uLibFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib_SaveAllChanges(ICreateTypeLib* This) { | 
|  | return This->lpVtbl->SaveAllChanges(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ICreateTypeLib_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICreateTypeLib2 interface | 
|  | */ | 
|  | #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__ | 
|  | #define __ICreateTypeLib2_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ICreateTypeLib2 *LPCREATETYPELIB2; | 
|  | DEFINE_GUID(IID_ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("0002040f-0000-0000-c000-000000000046") | 
|  | ICreateTypeLib2 : public ICreateTypeLib | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE DeleteTypeInfo( | 
|  | LPOLESTR szName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetCustData( | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext( | 
|  | ULONG dwHelpStringContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetHelpStringDll( | 
|  | LPOLESTR szFileName) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ICreateTypeLib2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICreateTypeLib2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICreateTypeLib2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICreateTypeLib2 *This); | 
|  |  | 
|  | /*** ICreateTypeLib methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)( | 
|  | ICreateTypeLib2 *This, | 
|  | LPOLESTR szName, | 
|  | TYPEKIND tkind, | 
|  | ICreateTypeInfo **ppCTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetName)( | 
|  | ICreateTypeLib2 *This, | 
|  | LPOLESTR szName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVersion)( | 
|  | ICreateTypeLib2 *This, | 
|  | WORD wMajorVerNum, | 
|  | WORD wMinorVerNum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetGuid)( | 
|  | ICreateTypeLib2 *This, | 
|  | REFGUID guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDocString)( | 
|  | ICreateTypeLib2 *This, | 
|  | LPOLESTR szDoc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpFileName)( | 
|  | ICreateTypeLib2 *This, | 
|  | LPOLESTR szHelpFileName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpContext)( | 
|  | ICreateTypeLib2 *This, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLcid)( | 
|  | ICreateTypeLib2 *This, | 
|  | LCID lcid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLibFlags)( | 
|  | ICreateTypeLib2 *This, | 
|  | UINT uLibFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SaveAllChanges)( | 
|  | ICreateTypeLib2 *This); | 
|  |  | 
|  | /*** ICreateTypeLib2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteTypeInfo)( | 
|  | ICreateTypeLib2 *This, | 
|  | LPOLESTR szName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetCustData)( | 
|  | ICreateTypeLib2 *This, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)( | 
|  | ICreateTypeLib2 *This, | 
|  | ULONG dwHelpStringContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpStringDll)( | 
|  | ICreateTypeLib2 *This, | 
|  | LPOLESTR szFileName); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ICreateTypeLib2Vtbl; | 
|  |  | 
|  | interface ICreateTypeLib2 { | 
|  | CONST_VTBL ICreateTypeLib2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICreateTypeLib2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICreateTypeLib2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICreateTypeLib2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ICreateTypeLib methods ***/ | 
|  | #define ICreateTypeLib2_CreateTypeInfo(This,szName,tkind,ppCTInfo) (This)->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo) | 
|  | #define ICreateTypeLib2_SetName(This,szName) (This)->lpVtbl->SetName(This,szName) | 
|  | #define ICreateTypeLib2_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum) | 
|  | #define ICreateTypeLib2_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid) | 
|  | #define ICreateTypeLib2_SetDocString(This,szDoc) (This)->lpVtbl->SetDocString(This,szDoc) | 
|  | #define ICreateTypeLib2_SetHelpFileName(This,szHelpFileName) (This)->lpVtbl->SetHelpFileName(This,szHelpFileName) | 
|  | #define ICreateTypeLib2_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) | 
|  | #define ICreateTypeLib2_SetLcid(This,lcid) (This)->lpVtbl->SetLcid(This,lcid) | 
|  | #define ICreateTypeLib2_SetLibFlags(This,uLibFlags) (This)->lpVtbl->SetLibFlags(This,uLibFlags) | 
|  | #define ICreateTypeLib2_SaveAllChanges(This) (This)->lpVtbl->SaveAllChanges(This) | 
|  | /*** ICreateTypeLib2 methods ***/ | 
|  | #define ICreateTypeLib2_DeleteTypeInfo(This,szName) (This)->lpVtbl->DeleteTypeInfo(This,szName) | 
|  | #define ICreateTypeLib2_SetCustData(This,guid,pVarVal) (This)->lpVtbl->SetCustData(This,guid,pVarVal) | 
|  | #define ICreateTypeLib2_SetHelpStringContext(This,dwHelpStringContext) (This)->lpVtbl->SetHelpStringContext(This,dwHelpStringContext) | 
|  | #define ICreateTypeLib2_SetHelpStringDll(This,szFileName) (This)->lpVtbl->SetHelpStringDll(This,szFileName) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_QueryInterface(ICreateTypeLib2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateTypeLib2_AddRef(ICreateTypeLib2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateTypeLib2_Release(ICreateTypeLib2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ICreateTypeLib methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_CreateTypeInfo(ICreateTypeLib2* This,LPOLESTR szName,TYPEKIND tkind,ICreateTypeInfo **ppCTInfo) { | 
|  | return This->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetName(ICreateTypeLib2* This,LPOLESTR szName) { | 
|  | return This->lpVtbl->SetName(This,szName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetVersion(ICreateTypeLib2* This,WORD wMajorVerNum,WORD wMinorVerNum) { | 
|  | return This->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetGuid(ICreateTypeLib2* This,REFGUID guid) { | 
|  | return This->lpVtbl->SetGuid(This,guid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetDocString(ICreateTypeLib2* This,LPOLESTR szDoc) { | 
|  | return This->lpVtbl->SetDocString(This,szDoc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetHelpFileName(ICreateTypeLib2* This,LPOLESTR szHelpFileName) { | 
|  | return This->lpVtbl->SetHelpFileName(This,szHelpFileName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetHelpContext(ICreateTypeLib2* This,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetHelpContext(This,dwHelpContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetLcid(ICreateTypeLib2* This,LCID lcid) { | 
|  | return This->lpVtbl->SetLcid(This,lcid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetLibFlags(ICreateTypeLib2* This,UINT uLibFlags) { | 
|  | return This->lpVtbl->SetLibFlags(This,uLibFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SaveAllChanges(ICreateTypeLib2* This) { | 
|  | return This->lpVtbl->SaveAllChanges(This); | 
|  | } | 
|  | /*** ICreateTypeLib2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_DeleteTypeInfo(ICreateTypeLib2* This,LPOLESTR szName) { | 
|  | return This->lpVtbl->DeleteTypeInfo(This,szName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetCustData(ICreateTypeLib2* This,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->SetCustData(This,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetHelpStringContext(ICreateTypeLib2* This,ULONG dwHelpStringContext) { | 
|  | return This->lpVtbl->SetHelpStringContext(This,dwHelpStringContext); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateTypeLib2_SetHelpStringDll(ICreateTypeLib2* This,LPOLESTR szFileName) { | 
|  | return This->lpVtbl->SetHelpStringDll(This,szFileName); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ICreateTypeLib2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | 
|  | /***************************************************************************** | 
|  | * IDispatch interface | 
|  | */ | 
|  | #ifndef __IDispatch_INTERFACE_DEFINED__ | 
|  | #define __IDispatch_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef IDispatch *LPDISPATCH; | 
|  |  | 
|  |  | 
|  | #define DISPID_UNKNOWN (-1) | 
|  |  | 
|  | #define DISPID_VALUE (0) | 
|  |  | 
|  | #define DISPID_PROPERTYPUT (-3) | 
|  |  | 
|  | #define DISPID_NEWENUM (-4) | 
|  |  | 
|  | #define DISPID_EVALUATE (-5) | 
|  |  | 
|  | #define DISPID_CONSTRUCTOR (-6) | 
|  |  | 
|  | #define DISPID_DESTRUCTOR (-7) | 
|  |  | 
|  | #define DISPID_COLLECT (-8) | 
|  |  | 
|  |  | 
|  | DEFINE_GUID(IID_IDispatch, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020400-0000-0000-c000-000000000046") | 
|  | IDispatch : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount( | 
|  | UINT *pctinfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Invoke( | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IDispatch, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IDispatchVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IDispatch *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IDispatch *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IDispatch *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IDispatch *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IDispatch *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IDispatch *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IDispatch *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IDispatchVtbl; | 
|  |  | 
|  | interface IDispatch { | 
|  | CONST_VTBL IDispatchVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IDispatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDispatch_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDispatch_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IDispatch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IDispatch_QueryInterface(IDispatch* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IDispatch_AddRef(IDispatch* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IDispatch_Release(IDispatch* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static __WIDL_INLINE HRESULT IDispatch_GetTypeInfoCount(IDispatch* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IDispatch_GetTypeInfo(IDispatch* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IDispatch_GetIDsOfNames(IDispatch* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IDispatch_Invoke(IDispatch* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy( | 
|  | IDispatch* This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | DWORD dwFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *pArgErr, | 
|  | UINT cVarRef, | 
|  | UINT *rgVarRefIdx, | 
|  | VARIANTARG *rgVarRef); | 
|  | void __RPC_STUB IDispatch_RemoteInvoke_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IDispatch_Invoke_Proxy( | 
|  | IDispatch* This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  | HRESULT __RPC_STUB IDispatch_Invoke_Stub( | 
|  | IDispatch* This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | DWORD dwFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *pArgErr, | 
|  | UINT cVarRef, | 
|  | UINT *rgVarRefIdx, | 
|  | VARIANTARG *rgVarRef); | 
|  |  | 
|  | #endif  /* __IDispatch_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumVARIANT interface | 
|  | */ | 
|  | #ifndef __IEnumVARIANT_INTERFACE_DEFINED__ | 
|  | #define __IEnumVARIANT_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef IEnumVARIANT *LPENUMVARIANT; | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020404-0000-0000-c000-000000000046") | 
|  | IEnumVARIANT : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG celt, | 
|  | VARIANT *rgVar, | 
|  | ULONG *pCeltFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG celt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumVARIANT **ppEnum) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumVARIANTVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumVARIANT *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumVARIANT *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumVARIANT *This); | 
|  |  | 
|  | /*** IEnumVARIANT methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumVARIANT *This, | 
|  | ULONG celt, | 
|  | VARIANT *rgVar, | 
|  | ULONG *pCeltFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumVARIANT *This, | 
|  | ULONG celt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumVARIANT *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumVARIANT *This, | 
|  | IEnumVARIANT **ppEnum); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumVARIANTVtbl; | 
|  |  | 
|  | interface IEnumVARIANT { | 
|  | CONST_VTBL IEnumVARIANTVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumVARIANT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumVARIANT_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumVARIANT_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumVARIANT methods ***/ | 
|  | #define IEnumVARIANT_Next(This,celt,rgVar,pCeltFetched) (This)->lpVtbl->Next(This,celt,rgVar,pCeltFetched) | 
|  | #define IEnumVARIANT_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | 
|  | #define IEnumVARIANT_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumVARIANT_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumVARIANT_QueryInterface(IEnumVARIANT* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumVARIANT_AddRef(IEnumVARIANT* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumVARIANT_Release(IEnumVARIANT* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumVARIANT methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumVARIANT_Next(IEnumVARIANT* This,ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched) { | 
|  | return This->lpVtbl->Next(This,celt,rgVar,pCeltFetched); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumVARIANT_Skip(IEnumVARIANT* This,ULONG celt) { | 
|  | return This->lpVtbl->Skip(This,celt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumVARIANT_Reset(IEnumVARIANT* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumVARIANT_Clone(IEnumVARIANT* This,IEnumVARIANT **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IEnumVARIANT_RemoteNext_Proxy( | 
|  | IEnumVARIANT* This, | 
|  | ULONG celt, | 
|  | VARIANT *rgVar, | 
|  | ULONG *pCeltFetched); | 
|  | void __RPC_STUB IEnumVARIANT_RemoteNext_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IEnumVARIANT_Next_Proxy( | 
|  | IEnumVARIANT* This, | 
|  | ULONG celt, | 
|  | VARIANT *rgVar, | 
|  | ULONG *pCeltFetched); | 
|  | HRESULT __RPC_STUB IEnumVARIANT_Next_Stub( | 
|  | IEnumVARIANT* This, | 
|  | ULONG celt, | 
|  | VARIANT *rgVar, | 
|  | ULONG *pCeltFetched); | 
|  |  | 
|  | #endif  /* __IEnumVARIANT_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITypeComp interface | 
|  | */ | 
|  | #ifndef __ITypeComp_INTERFACE_DEFINED__ | 
|  | #define __ITypeComp_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ITypeComp *LPTYPECOMP; | 
|  |  | 
|  | typedef enum tagDESCKIND { | 
|  | DESCKIND_NONE = 0, | 
|  | DESCKIND_FUNCDESC = 1, | 
|  | DESCKIND_VARDESC = 2, | 
|  | DESCKIND_TYPECOMP = 3, | 
|  | DESCKIND_IMPLICITAPPOBJ = 4, | 
|  | DESCKIND_MAX = 5 | 
|  | } DESCKIND; | 
|  |  | 
|  | typedef union tagBINDPTR { | 
|  | FUNCDESC *lpfuncdesc; | 
|  | VARDESC *lpvardesc; | 
|  | ITypeComp *lptcomp; | 
|  | } BINDPTR; | 
|  | typedef union tagBINDPTR *LPBINDPTR; | 
|  |  | 
|  | DEFINE_GUID(IID_ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020403-0000-0000-c000-000000000046") | 
|  | ITypeComp : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Bind( | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | WORD wFlags, | 
|  | ITypeInfo **ppTInfo, | 
|  | DESCKIND *pDescKind, | 
|  | BINDPTR *pBindPtr) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE BindType( | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | ITypeComp **ppTComp) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITypeCompVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITypeComp *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITypeComp *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITypeComp *This); | 
|  |  | 
|  | /*** ITypeComp methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Bind)( | 
|  | ITypeComp *This, | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | WORD wFlags, | 
|  | ITypeInfo **ppTInfo, | 
|  | DESCKIND *pDescKind, | 
|  | BINDPTR *pBindPtr); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *BindType)( | 
|  | ITypeComp *This, | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | ITypeComp **ppTComp); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITypeCompVtbl; | 
|  |  | 
|  | interface ITypeComp { | 
|  | CONST_VTBL ITypeCompVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITypeComp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITypeComp_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITypeComp_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITypeComp methods ***/ | 
|  | #define ITypeComp_Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr) (This)->lpVtbl->Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr) | 
|  | #define ITypeComp_BindType(This,szName,lHashVal,ppTInfo,ppTComp) (This)->lpVtbl->BindType(This,szName,lHashVal,ppTInfo,ppTComp) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeComp_QueryInterface(ITypeComp* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeComp_AddRef(ITypeComp* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeComp_Release(ITypeComp* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITypeComp methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeComp_Bind(ITypeComp* This,LPOLESTR szName,ULONG lHashVal,WORD wFlags,ITypeInfo **ppTInfo,DESCKIND *pDescKind,BINDPTR *pBindPtr) { | 
|  | return This->lpVtbl->Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeComp_BindType(ITypeComp* This,LPOLESTR szName,ULONG lHashVal,ITypeInfo **ppTInfo,ITypeComp **ppTComp) { | 
|  | return This->lpVtbl->BindType(This,szName,lHashVal,ppTInfo,ppTComp); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBind_Proxy( | 
|  | ITypeComp* This, | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | WORD wFlags, | 
|  | ITypeInfo **ppTInfo, | 
|  | DESCKIND *pDescKind, | 
|  | LPFUNCDESC *ppFuncDesc, | 
|  | LPVARDESC *ppVarDesc, | 
|  | ITypeComp **ppTypeComp, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | void __RPC_STUB ITypeComp_RemoteBind_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBindType_Proxy( | 
|  | ITypeComp* This, | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo); | 
|  | void __RPC_STUB ITypeComp_RemoteBindType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ITypeComp_Bind_Proxy( | 
|  | ITypeComp* This, | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | WORD wFlags, | 
|  | ITypeInfo **ppTInfo, | 
|  | DESCKIND *pDescKind, | 
|  | BINDPTR *pBindPtr); | 
|  | HRESULT __RPC_STUB ITypeComp_Bind_Stub( | 
|  | ITypeComp* This, | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | WORD wFlags, | 
|  | ITypeInfo **ppTInfo, | 
|  | DESCKIND *pDescKind, | 
|  | LPFUNCDESC *ppFuncDesc, | 
|  | LPVARDESC *ppVarDesc, | 
|  | ITypeComp **ppTypeComp, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | HRESULT CALLBACK ITypeComp_BindType_Proxy( | 
|  | ITypeComp* This, | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | ITypeComp **ppTComp); | 
|  | HRESULT __RPC_STUB ITypeComp_BindType_Stub( | 
|  | ITypeComp* This, | 
|  | LPOLESTR szName, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | #endif  /* __ITypeComp_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | 
|  | /***************************************************************************** | 
|  | * ITypeInfo interface | 
|  | */ | 
|  | #ifndef __ITypeInfo_INTERFACE_DEFINED__ | 
|  | #define __ITypeInfo_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ITypeInfo *LPTYPEINFO; | 
|  |  | 
|  | DEFINE_GUID(IID_ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020401-0000-0000-c000-000000000046") | 
|  | ITypeInfo : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeAttr( | 
|  | TYPEATTR **ppTypeAttr) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeComp( | 
|  | ITypeComp **ppTComp) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFuncDesc( | 
|  | UINT index, | 
|  | FUNCDESC **ppFuncDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetVarDesc( | 
|  | UINT index, | 
|  | VARDESC **ppVarDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetNames( | 
|  | MEMBERID memid, | 
|  | BSTR *rgBstrNames, | 
|  | UINT cMaxNames, | 
|  | UINT *pcNames) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRefTypeOfImplType( | 
|  | UINT index, | 
|  | HREFTYPE *pRefType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetImplTypeFlags( | 
|  | UINT index, | 
|  | INT *pImplTypeFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | MEMBERID *pMemId) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Invoke( | 
|  | PVOID pvInstance, | 
|  | MEMBERID memid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDocumentation( | 
|  | MEMBERID memid, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDllEntry( | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | BSTR *pBstrDllName, | 
|  | BSTR *pBstrName, | 
|  | WORD *pwOrdinal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRefTypeInfo( | 
|  | HREFTYPE hRefType, | 
|  | ITypeInfo **ppTInfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddressOfMember( | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | PVOID *ppv) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateInstance( | 
|  | IUnknown *pUnkOuter, | 
|  | REFIID riid, | 
|  | PVOID *ppvObj) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMops( | 
|  | MEMBERID memid, | 
|  | BSTR *pBstrMops) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetContainingTypeLib( | 
|  | ITypeLib **ppTLib, | 
|  | UINT *pIndex) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE ReleaseTypeAttr( | 
|  | TYPEATTR *pTypeAttr) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE ReleaseFuncDesc( | 
|  | FUNCDESC *pFuncDesc) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE ReleaseVarDesc( | 
|  | VARDESC *pVarDesc) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITypeInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITypeInfo *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITypeInfo *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITypeInfo *This); | 
|  |  | 
|  | /*** ITypeInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeAttr)( | 
|  | ITypeInfo *This, | 
|  | TYPEATTR **ppTypeAttr); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeComp)( | 
|  | ITypeInfo *This, | 
|  | ITypeComp **ppTComp); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFuncDesc)( | 
|  | ITypeInfo *This, | 
|  | UINT index, | 
|  | FUNCDESC **ppFuncDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetVarDesc)( | 
|  | ITypeInfo *This, | 
|  | UINT index, | 
|  | VARDESC **ppVarDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetNames)( | 
|  | ITypeInfo *This, | 
|  | MEMBERID memid, | 
|  | BSTR *rgBstrNames, | 
|  | UINT cMaxNames, | 
|  | UINT *pcNames); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)( | 
|  | ITypeInfo *This, | 
|  | UINT index, | 
|  | HREFTYPE *pRefType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)( | 
|  | ITypeInfo *This, | 
|  | UINT index, | 
|  | INT *pImplTypeFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | ITypeInfo *This, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | MEMBERID *pMemId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | ITypeInfo *This, | 
|  | PVOID pvInstance, | 
|  | MEMBERID memid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDocumentation)( | 
|  | ITypeInfo *This, | 
|  | MEMBERID memid, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDllEntry)( | 
|  | ITypeInfo *This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | BSTR *pBstrDllName, | 
|  | BSTR *pBstrName, | 
|  | WORD *pwOrdinal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)( | 
|  | ITypeInfo *This, | 
|  | HREFTYPE hRefType, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddressOfMember)( | 
|  | ITypeInfo *This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | PVOID *ppv); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateInstance)( | 
|  | ITypeInfo *This, | 
|  | IUnknown *pUnkOuter, | 
|  | REFIID riid, | 
|  | PVOID *ppvObj); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMops)( | 
|  | ITypeInfo *This, | 
|  | MEMBERID memid, | 
|  | BSTR *pBstrMops); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)( | 
|  | ITypeInfo *This, | 
|  | ITypeLib **ppTLib, | 
|  | UINT *pIndex); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *ReleaseTypeAttr)( | 
|  | ITypeInfo *This, | 
|  | TYPEATTR *pTypeAttr); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *ReleaseFuncDesc)( | 
|  | ITypeInfo *This, | 
|  | FUNCDESC *pFuncDesc); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *ReleaseVarDesc)( | 
|  | ITypeInfo *This, | 
|  | VARDESC *pVarDesc); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITypeInfoVtbl; | 
|  |  | 
|  | interface ITypeInfo { | 
|  | CONST_VTBL ITypeInfoVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITypeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITypeInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITypeInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITypeInfo methods ***/ | 
|  | #define ITypeInfo_GetTypeAttr(This,ppTypeAttr) (This)->lpVtbl->GetTypeAttr(This,ppTypeAttr) | 
|  | #define ITypeInfo_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp) | 
|  | #define ITypeInfo_GetFuncDesc(This,index,ppFuncDesc) (This)->lpVtbl->GetFuncDesc(This,index,ppFuncDesc) | 
|  | #define ITypeInfo_GetVarDesc(This,index,ppVarDesc) (This)->lpVtbl->GetVarDesc(This,index,ppVarDesc) | 
|  | #define ITypeInfo_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) (This)->lpVtbl->GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) | 
|  | #define ITypeInfo_GetRefTypeOfImplType(This,index,pRefType) (This)->lpVtbl->GetRefTypeOfImplType(This,index,pRefType) | 
|  | #define ITypeInfo_GetImplTypeFlags(This,index,pImplTypeFlags) (This)->lpVtbl->GetImplTypeFlags(This,index,pImplTypeFlags) | 
|  | #define ITypeInfo_GetIDsOfNames(This,rgszNames,cNames,pMemId) (This)->lpVtbl->GetIDsOfNames(This,rgszNames,cNames,pMemId) | 
|  | #define ITypeInfo_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #define ITypeInfo_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) | 
|  | #define ITypeInfo_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) (This)->lpVtbl->GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) | 
|  | #define ITypeInfo_GetRefTypeInfo(This,hRefType,ppTInfo) (This)->lpVtbl->GetRefTypeInfo(This,hRefType,ppTInfo) | 
|  | #define ITypeInfo_AddressOfMember(This,memid,invKind,ppv) (This)->lpVtbl->AddressOfMember(This,memid,invKind,ppv) | 
|  | #define ITypeInfo_CreateInstance(This,pUnkOuter,riid,ppvObj) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObj) | 
|  | #define ITypeInfo_GetMops(This,memid,pBstrMops) (This)->lpVtbl->GetMops(This,memid,pBstrMops) | 
|  | #define ITypeInfo_GetContainingTypeLib(This,ppTLib,pIndex) (This)->lpVtbl->GetContainingTypeLib(This,ppTLib,pIndex) | 
|  | #define ITypeInfo_ReleaseTypeAttr(This,pTypeAttr) (This)->lpVtbl->ReleaseTypeAttr(This,pTypeAttr) | 
|  | #define ITypeInfo_ReleaseFuncDesc(This,pFuncDesc) (This)->lpVtbl->ReleaseFuncDesc(This,pFuncDesc) | 
|  | #define ITypeInfo_ReleaseVarDesc(This,pVarDesc) (This)->lpVtbl->ReleaseVarDesc(This,pVarDesc) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_QueryInterface(ITypeInfo* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeInfo_AddRef(ITypeInfo* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeInfo_Release(ITypeInfo* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITypeInfo methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetTypeAttr(ITypeInfo* This,TYPEATTR **ppTypeAttr) { | 
|  | return This->lpVtbl->GetTypeAttr(This,ppTypeAttr); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetTypeComp(ITypeInfo* This,ITypeComp **ppTComp) { | 
|  | return This->lpVtbl->GetTypeComp(This,ppTComp); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetFuncDesc(ITypeInfo* This,UINT index,FUNCDESC **ppFuncDesc) { | 
|  | return This->lpVtbl->GetFuncDesc(This,index,ppFuncDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetVarDesc(ITypeInfo* This,UINT index,VARDESC **ppVarDesc) { | 
|  | return This->lpVtbl->GetVarDesc(This,index,ppVarDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetNames(ITypeInfo* This,MEMBERID memid,BSTR *rgBstrNames,UINT cMaxNames,UINT *pcNames) { | 
|  | return This->lpVtbl->GetNames(This,memid,rgBstrNames,cMaxNames,pcNames); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetRefTypeOfImplType(ITypeInfo* This,UINT index,HREFTYPE *pRefType) { | 
|  | return This->lpVtbl->GetRefTypeOfImplType(This,index,pRefType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetImplTypeFlags(ITypeInfo* This,UINT index,INT *pImplTypeFlags) { | 
|  | return This->lpVtbl->GetImplTypeFlags(This,index,pImplTypeFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetIDsOfNames(ITypeInfo* This,LPOLESTR *rgszNames,UINT cNames,MEMBERID *pMemId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,rgszNames,cNames,pMemId); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_Invoke(ITypeInfo* This,PVOID pvInstance,MEMBERID memid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetDocumentation(ITypeInfo* This,MEMBERID memid,BSTR *pBstrName,BSTR *pBstrDocString,DWORD *pdwHelpContext,BSTR *pBstrHelpFile) { | 
|  | return This->lpVtbl->GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetDllEntry(ITypeInfo* This,MEMBERID memid,INVOKEKIND invKind,BSTR *pBstrDllName,BSTR *pBstrName,WORD *pwOrdinal) { | 
|  | return This->lpVtbl->GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetRefTypeInfo(ITypeInfo* This,HREFTYPE hRefType,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetRefTypeInfo(This,hRefType,ppTInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_AddressOfMember(ITypeInfo* This,MEMBERID memid,INVOKEKIND invKind,PVOID *ppv) { | 
|  | return This->lpVtbl->AddressOfMember(This,memid,invKind,ppv); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_CreateInstance(ITypeInfo* This,IUnknown *pUnkOuter,REFIID riid,PVOID *ppvObj) { | 
|  | return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObj); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetMops(ITypeInfo* This,MEMBERID memid,BSTR *pBstrMops) { | 
|  | return This->lpVtbl->GetMops(This,memid,pBstrMops); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo_GetContainingTypeLib(ITypeInfo* This,ITypeLib **ppTLib,UINT *pIndex) { | 
|  | return This->lpVtbl->GetContainingTypeLib(This,ppTLib,pIndex); | 
|  | } | 
|  | static __WIDL_INLINE void ITypeInfo_ReleaseTypeAttr(ITypeInfo* This,TYPEATTR *pTypeAttr) { | 
|  | This->lpVtbl->ReleaseTypeAttr(This,pTypeAttr); | 
|  | } | 
|  | static __WIDL_INLINE void ITypeInfo_ReleaseFuncDesc(ITypeInfo* This,FUNCDESC *pFuncDesc) { | 
|  | This->lpVtbl->ReleaseFuncDesc(This,pFuncDesc); | 
|  | } | 
|  | static __WIDL_INLINE void ITypeInfo_ReleaseVarDesc(ITypeInfo* This,VARDESC *pVarDesc) { | 
|  | This->lpVtbl->ReleaseVarDesc(This,pVarDesc); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetTypeAttr_Proxy( | 
|  | ITypeInfo* This, | 
|  | LPTYPEATTR *ppTypeAttr, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetFuncDesc_Proxy( | 
|  | ITypeInfo* This, | 
|  | UINT index, | 
|  | LPFUNCDESC *ppFuncDesc, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetVarDesc_Proxy( | 
|  | ITypeInfo* This, | 
|  | UINT index, | 
|  | LPVARDESC *ppVarDesc, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetNames_Proxy( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | BSTR *rgBstrNames, | 
|  | UINT cMaxNames, | 
|  | UINT *pcNames); | 
|  | void __RPC_STUB ITypeInfo_RemoteGetNames_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_LocalGetIDsOfNames_Proxy( | 
|  | ITypeInfo* This); | 
|  | void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_LocalInvoke_Proxy( | 
|  | ITypeInfo* This); | 
|  | void __RPC_STUB ITypeInfo_LocalInvoke_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDocumentation_Proxy( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  | void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDllEntry_Proxy( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pBstrDllName, | 
|  | BSTR *pBstrName, | 
|  | WORD *pwOrdinal); | 
|  | void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_LocalAddressOfMember_Proxy( | 
|  | ITypeInfo* This); | 
|  | void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteCreateInstance_Proxy( | 
|  | ITypeInfo* This, | 
|  | REFIID riid, | 
|  | IUnknown **ppvObj); | 
|  | void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetContainingTypeLib_Proxy( | 
|  | ITypeInfo* This, | 
|  | ITypeLib **ppTLib, | 
|  | UINT *pIndex); | 
|  | void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseTypeAttr_Proxy( | 
|  | ITypeInfo* This); | 
|  | void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseFuncDesc_Proxy( | 
|  | ITypeInfo* This); | 
|  | void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseVarDesc_Proxy( | 
|  | ITypeInfo* This); | 
|  | void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ITypeInfo_GetTypeAttr_Proxy( | 
|  | ITypeInfo* This, | 
|  | TYPEATTR **ppTypeAttr); | 
|  | HRESULT __RPC_STUB ITypeInfo_GetTypeAttr_Stub( | 
|  | ITypeInfo* This, | 
|  | LPTYPEATTR *ppTypeAttr, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | HRESULT CALLBACK ITypeInfo_GetFuncDesc_Proxy( | 
|  | ITypeInfo* This, | 
|  | UINT index, | 
|  | FUNCDESC **ppFuncDesc); | 
|  | HRESULT __RPC_STUB ITypeInfo_GetFuncDesc_Stub( | 
|  | ITypeInfo* This, | 
|  | UINT index, | 
|  | LPFUNCDESC *ppFuncDesc, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy( | 
|  | ITypeInfo* This, | 
|  | UINT index, | 
|  | VARDESC **ppVarDesc); | 
|  | HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub( | 
|  | ITypeInfo* This, | 
|  | UINT index, | 
|  | LPVARDESC *ppVarDesc, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | HRESULT CALLBACK ITypeInfo_GetNames_Proxy( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | BSTR *rgBstrNames, | 
|  | UINT cMaxNames, | 
|  | UINT *pcNames); | 
|  | HRESULT __RPC_STUB ITypeInfo_GetNames_Stub( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | BSTR *rgBstrNames, | 
|  | UINT cMaxNames, | 
|  | UINT *pcNames); | 
|  | HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy( | 
|  | ITypeInfo* This, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | MEMBERID *pMemId); | 
|  | HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub( | 
|  | ITypeInfo* This); | 
|  | HRESULT CALLBACK ITypeInfo_Invoke_Proxy( | 
|  | ITypeInfo* This, | 
|  | PVOID pvInstance, | 
|  | MEMBERID memid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  | HRESULT __RPC_STUB ITypeInfo_Invoke_Stub( | 
|  | ITypeInfo* This); | 
|  | HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  | HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  | HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | BSTR *pBstrDllName, | 
|  | BSTR *pBstrName, | 
|  | WORD *pwOrdinal); | 
|  | HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pBstrDllName, | 
|  | BSTR *pBstrName, | 
|  | WORD *pwOrdinal); | 
|  | HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy( | 
|  | ITypeInfo* This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | PVOID *ppv); | 
|  | HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub( | 
|  | ITypeInfo* This); | 
|  | HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy( | 
|  | ITypeInfo* This, | 
|  | IUnknown *pUnkOuter, | 
|  | REFIID riid, | 
|  | PVOID *ppvObj); | 
|  | HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub( | 
|  | ITypeInfo* This, | 
|  | REFIID riid, | 
|  | IUnknown **ppvObj); | 
|  | HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy( | 
|  | ITypeInfo* This, | 
|  | ITypeLib **ppTLib, | 
|  | UINT *pIndex); | 
|  | HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub( | 
|  | ITypeInfo* This, | 
|  | ITypeLib **ppTLib, | 
|  | UINT *pIndex); | 
|  | void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy( | 
|  | ITypeInfo* This, | 
|  | TYPEATTR *pTypeAttr); | 
|  | HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub( | 
|  | ITypeInfo* This); | 
|  | void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy( | 
|  | ITypeInfo* This, | 
|  | FUNCDESC *pFuncDesc); | 
|  | HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub( | 
|  | ITypeInfo* This); | 
|  | void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy( | 
|  | ITypeInfo* This, | 
|  | VARDESC *pVarDesc); | 
|  | HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub( | 
|  | ITypeInfo* This); | 
|  |  | 
|  | #endif  /* __ITypeInfo_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITypeInfo2 interface | 
|  | */ | 
|  | #ifndef __ITypeInfo2_INTERFACE_DEFINED__ | 
|  | #define __ITypeInfo2_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ITypeInfo2 *LPTYPEINFO2; | 
|  |  | 
|  | DEFINE_GUID(IID_ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020412-0000-0000-c000-000000000046") | 
|  | ITypeInfo2 : public ITypeInfo | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeKind( | 
|  | TYPEKIND *pTypeKind) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeFlags( | 
|  | ULONG *pTypeFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFuncIndexOfMemId( | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | UINT *pFuncIndex) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetVarIndexOfMemId( | 
|  | MEMBERID memid, | 
|  | UINT *pVarIndex) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCustData( | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFuncCustData( | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetParamCustData( | 
|  | UINT indexFunc, | 
|  | UINT indexParam, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetVarCustData( | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetImplTypeCustData( | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDocumentation2( | 
|  | MEMBERID memid, | 
|  | LCID lcid, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllCustData( | 
|  | CUSTDATA *pCustData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllFuncCustData( | 
|  | UINT index, | 
|  | CUSTDATA *pCustData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllParamCustData( | 
|  | UINT indexFunc, | 
|  | UINT indexParam, | 
|  | CUSTDATA *pCustData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllVarCustData( | 
|  | UINT index, | 
|  | CUSTDATA *pCustData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllImplTypeCustData( | 
|  | UINT index, | 
|  | CUSTDATA *pCustData) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITypeInfo2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITypeInfo2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITypeInfo2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITypeInfo2 *This); | 
|  |  | 
|  | /*** ITypeInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeAttr)( | 
|  | ITypeInfo2 *This, | 
|  | TYPEATTR **ppTypeAttr); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeComp)( | 
|  | ITypeInfo2 *This, | 
|  | ITypeComp **ppTComp); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFuncDesc)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | FUNCDESC **ppFuncDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetVarDesc)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | VARDESC **ppVarDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetNames)( | 
|  | ITypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | BSTR *rgBstrNames, | 
|  | UINT cMaxNames, | 
|  | UINT *pcNames); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | HREFTYPE *pRefType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | INT *pImplTypeFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | ITypeInfo2 *This, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | MEMBERID *pMemId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | ITypeInfo2 *This, | 
|  | PVOID pvInstance, | 
|  | MEMBERID memid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDocumentation)( | 
|  | ITypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDllEntry)( | 
|  | ITypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | BSTR *pBstrDllName, | 
|  | BSTR *pBstrName, | 
|  | WORD *pwOrdinal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)( | 
|  | ITypeInfo2 *This, | 
|  | HREFTYPE hRefType, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddressOfMember)( | 
|  | ITypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | PVOID *ppv); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateInstance)( | 
|  | ITypeInfo2 *This, | 
|  | IUnknown *pUnkOuter, | 
|  | REFIID riid, | 
|  | PVOID *ppvObj); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMops)( | 
|  | ITypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | BSTR *pBstrMops); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)( | 
|  | ITypeInfo2 *This, | 
|  | ITypeLib **ppTLib, | 
|  | UINT *pIndex); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *ReleaseTypeAttr)( | 
|  | ITypeInfo2 *This, | 
|  | TYPEATTR *pTypeAttr); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *ReleaseFuncDesc)( | 
|  | ITypeInfo2 *This, | 
|  | FUNCDESC *pFuncDesc); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *ReleaseVarDesc)( | 
|  | ITypeInfo2 *This, | 
|  | VARDESC *pVarDesc); | 
|  |  | 
|  | /*** ITypeInfo2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeKind)( | 
|  | ITypeInfo2 *This, | 
|  | TYPEKIND *pTypeKind); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeFlags)( | 
|  | ITypeInfo2 *This, | 
|  | ULONG *pTypeFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFuncIndexOfMemId)( | 
|  | ITypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | INVOKEKIND invKind, | 
|  | UINT *pFuncIndex); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetVarIndexOfMemId)( | 
|  | ITypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | UINT *pVarIndex); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCustData)( | 
|  | ITypeInfo2 *This, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFuncCustData)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetParamCustData)( | 
|  | ITypeInfo2 *This, | 
|  | UINT indexFunc, | 
|  | UINT indexParam, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetVarCustData)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetImplTypeCustData)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDocumentation2)( | 
|  | ITypeInfo2 *This, | 
|  | MEMBERID memid, | 
|  | LCID lcid, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllCustData)( | 
|  | ITypeInfo2 *This, | 
|  | CUSTDATA *pCustData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllFuncCustData)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | CUSTDATA *pCustData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllParamCustData)( | 
|  | ITypeInfo2 *This, | 
|  | UINT indexFunc, | 
|  | UINT indexParam, | 
|  | CUSTDATA *pCustData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllVarCustData)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | CUSTDATA *pCustData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllImplTypeCustData)( | 
|  | ITypeInfo2 *This, | 
|  | UINT index, | 
|  | CUSTDATA *pCustData); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITypeInfo2Vtbl; | 
|  |  | 
|  | interface ITypeInfo2 { | 
|  | CONST_VTBL ITypeInfo2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITypeInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITypeInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITypeInfo2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITypeInfo methods ***/ | 
|  | #define ITypeInfo2_GetTypeAttr(This,ppTypeAttr) (This)->lpVtbl->GetTypeAttr(This,ppTypeAttr) | 
|  | #define ITypeInfo2_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp) | 
|  | #define ITypeInfo2_GetFuncDesc(This,index,ppFuncDesc) (This)->lpVtbl->GetFuncDesc(This,index,ppFuncDesc) | 
|  | #define ITypeInfo2_GetVarDesc(This,index,ppVarDesc) (This)->lpVtbl->GetVarDesc(This,index,ppVarDesc) | 
|  | #define ITypeInfo2_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) (This)->lpVtbl->GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) | 
|  | #define ITypeInfo2_GetRefTypeOfImplType(This,index,pRefType) (This)->lpVtbl->GetRefTypeOfImplType(This,index,pRefType) | 
|  | #define ITypeInfo2_GetImplTypeFlags(This,index,pImplTypeFlags) (This)->lpVtbl->GetImplTypeFlags(This,index,pImplTypeFlags) | 
|  | #define ITypeInfo2_GetIDsOfNames(This,rgszNames,cNames,pMemId) (This)->lpVtbl->GetIDsOfNames(This,rgszNames,cNames,pMemId) | 
|  | #define ITypeInfo2_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #define ITypeInfo2_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) | 
|  | #define ITypeInfo2_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) (This)->lpVtbl->GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) | 
|  | #define ITypeInfo2_GetRefTypeInfo(This,hRefType,ppTInfo) (This)->lpVtbl->GetRefTypeInfo(This,hRefType,ppTInfo) | 
|  | #define ITypeInfo2_AddressOfMember(This,memid,invKind,ppv) (This)->lpVtbl->AddressOfMember(This,memid,invKind,ppv) | 
|  | #define ITypeInfo2_CreateInstance(This,pUnkOuter,riid,ppvObj) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObj) | 
|  | #define ITypeInfo2_GetMops(This,memid,pBstrMops) (This)->lpVtbl->GetMops(This,memid,pBstrMops) | 
|  | #define ITypeInfo2_GetContainingTypeLib(This,ppTLib,pIndex) (This)->lpVtbl->GetContainingTypeLib(This,ppTLib,pIndex) | 
|  | #define ITypeInfo2_ReleaseTypeAttr(This,pTypeAttr) (This)->lpVtbl->ReleaseTypeAttr(This,pTypeAttr) | 
|  | #define ITypeInfo2_ReleaseFuncDesc(This,pFuncDesc) (This)->lpVtbl->ReleaseFuncDesc(This,pFuncDesc) | 
|  | #define ITypeInfo2_ReleaseVarDesc(This,pVarDesc) (This)->lpVtbl->ReleaseVarDesc(This,pVarDesc) | 
|  | /*** ITypeInfo2 methods ***/ | 
|  | #define ITypeInfo2_GetTypeKind(This,pTypeKind) (This)->lpVtbl->GetTypeKind(This,pTypeKind) | 
|  | #define ITypeInfo2_GetTypeFlags(This,pTypeFlags) (This)->lpVtbl->GetTypeFlags(This,pTypeFlags) | 
|  | #define ITypeInfo2_GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex) (This)->lpVtbl->GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex) | 
|  | #define ITypeInfo2_GetVarIndexOfMemId(This,memid,pVarIndex) (This)->lpVtbl->GetVarIndexOfMemId(This,memid,pVarIndex) | 
|  | #define ITypeInfo2_GetCustData(This,guid,pVarVal) (This)->lpVtbl->GetCustData(This,guid,pVarVal) | 
|  | #define ITypeInfo2_GetFuncCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetFuncCustData(This,index,guid,pVarVal) | 
|  | #define ITypeInfo2_GetParamCustData(This,indexFunc,indexParam,guid,pVarVal) (This)->lpVtbl->GetParamCustData(This,indexFunc,indexParam,guid,pVarVal) | 
|  | #define ITypeInfo2_GetVarCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetVarCustData(This,index,guid,pVarVal) | 
|  | #define ITypeInfo2_GetImplTypeCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetImplTypeCustData(This,index,guid,pVarVal) | 
|  | #define ITypeInfo2_GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) (This)->lpVtbl->GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) | 
|  | #define ITypeInfo2_GetAllCustData(This,pCustData) (This)->lpVtbl->GetAllCustData(This,pCustData) | 
|  | #define ITypeInfo2_GetAllFuncCustData(This,index,pCustData) (This)->lpVtbl->GetAllFuncCustData(This,index,pCustData) | 
|  | #define ITypeInfo2_GetAllParamCustData(This,indexFunc,indexParam,pCustData) (This)->lpVtbl->GetAllParamCustData(This,indexFunc,indexParam,pCustData) | 
|  | #define ITypeInfo2_GetAllVarCustData(This,index,pCustData) (This)->lpVtbl->GetAllVarCustData(This,index,pCustData) | 
|  | #define ITypeInfo2_GetAllImplTypeCustData(This,index,pCustData) (This)->lpVtbl->GetAllImplTypeCustData(This,index,pCustData) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_QueryInterface(ITypeInfo2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeInfo2_AddRef(ITypeInfo2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeInfo2_Release(ITypeInfo2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITypeInfo methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetTypeAttr(ITypeInfo2* This,TYPEATTR **ppTypeAttr) { | 
|  | return This->lpVtbl->GetTypeAttr(This,ppTypeAttr); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetTypeComp(ITypeInfo2* This,ITypeComp **ppTComp) { | 
|  | return This->lpVtbl->GetTypeComp(This,ppTComp); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetFuncDesc(ITypeInfo2* This,UINT index,FUNCDESC **ppFuncDesc) { | 
|  | return This->lpVtbl->GetFuncDesc(This,index,ppFuncDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetVarDesc(ITypeInfo2* This,UINT index,VARDESC **ppVarDesc) { | 
|  | return This->lpVtbl->GetVarDesc(This,index,ppVarDesc); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetNames(ITypeInfo2* This,MEMBERID memid,BSTR *rgBstrNames,UINT cMaxNames,UINT *pcNames) { | 
|  | return This->lpVtbl->GetNames(This,memid,rgBstrNames,cMaxNames,pcNames); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetRefTypeOfImplType(ITypeInfo2* This,UINT index,HREFTYPE *pRefType) { | 
|  | return This->lpVtbl->GetRefTypeOfImplType(This,index,pRefType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetImplTypeFlags(ITypeInfo2* This,UINT index,INT *pImplTypeFlags) { | 
|  | return This->lpVtbl->GetImplTypeFlags(This,index,pImplTypeFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetIDsOfNames(ITypeInfo2* This,LPOLESTR *rgszNames,UINT cNames,MEMBERID *pMemId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,rgszNames,cNames,pMemId); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_Invoke(ITypeInfo2* This,PVOID pvInstance,MEMBERID memid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetDocumentation(ITypeInfo2* This,MEMBERID memid,BSTR *pBstrName,BSTR *pBstrDocString,DWORD *pdwHelpContext,BSTR *pBstrHelpFile) { | 
|  | return This->lpVtbl->GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetDllEntry(ITypeInfo2* This,MEMBERID memid,INVOKEKIND invKind,BSTR *pBstrDllName,BSTR *pBstrName,WORD *pwOrdinal) { | 
|  | return This->lpVtbl->GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetRefTypeInfo(ITypeInfo2* This,HREFTYPE hRefType,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetRefTypeInfo(This,hRefType,ppTInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_AddressOfMember(ITypeInfo2* This,MEMBERID memid,INVOKEKIND invKind,PVOID *ppv) { | 
|  | return This->lpVtbl->AddressOfMember(This,memid,invKind,ppv); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_CreateInstance(ITypeInfo2* This,IUnknown *pUnkOuter,REFIID riid,PVOID *ppvObj) { | 
|  | return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObj); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetMops(ITypeInfo2* This,MEMBERID memid,BSTR *pBstrMops) { | 
|  | return This->lpVtbl->GetMops(This,memid,pBstrMops); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetContainingTypeLib(ITypeInfo2* This,ITypeLib **ppTLib,UINT *pIndex) { | 
|  | return This->lpVtbl->GetContainingTypeLib(This,ppTLib,pIndex); | 
|  | } | 
|  | static __WIDL_INLINE void ITypeInfo2_ReleaseTypeAttr(ITypeInfo2* This,TYPEATTR *pTypeAttr) { | 
|  | This->lpVtbl->ReleaseTypeAttr(This,pTypeAttr); | 
|  | } | 
|  | static __WIDL_INLINE void ITypeInfo2_ReleaseFuncDesc(ITypeInfo2* This,FUNCDESC *pFuncDesc) { | 
|  | This->lpVtbl->ReleaseFuncDesc(This,pFuncDesc); | 
|  | } | 
|  | static __WIDL_INLINE void ITypeInfo2_ReleaseVarDesc(ITypeInfo2* This,VARDESC *pVarDesc) { | 
|  | This->lpVtbl->ReleaseVarDesc(This,pVarDesc); | 
|  | } | 
|  | /*** ITypeInfo2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetTypeKind(ITypeInfo2* This,TYPEKIND *pTypeKind) { | 
|  | return This->lpVtbl->GetTypeKind(This,pTypeKind); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetTypeFlags(ITypeInfo2* This,ULONG *pTypeFlags) { | 
|  | return This->lpVtbl->GetTypeFlags(This,pTypeFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetFuncIndexOfMemId(ITypeInfo2* This,MEMBERID memid,INVOKEKIND invKind,UINT *pFuncIndex) { | 
|  | return This->lpVtbl->GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetVarIndexOfMemId(ITypeInfo2* This,MEMBERID memid,UINT *pVarIndex) { | 
|  | return This->lpVtbl->GetVarIndexOfMemId(This,memid,pVarIndex); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetCustData(ITypeInfo2* This,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->GetCustData(This,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetFuncCustData(ITypeInfo2* This,UINT index,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->GetFuncCustData(This,index,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetParamCustData(ITypeInfo2* This,UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->GetParamCustData(This,indexFunc,indexParam,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetVarCustData(ITypeInfo2* This,UINT index,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->GetVarCustData(This,index,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetImplTypeCustData(ITypeInfo2* This,UINT index,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->GetImplTypeCustData(This,index,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetDocumentation2(ITypeInfo2* This,MEMBERID memid,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll) { | 
|  | return This->lpVtbl->GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetAllCustData(ITypeInfo2* This,CUSTDATA *pCustData) { | 
|  | return This->lpVtbl->GetAllCustData(This,pCustData); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetAllFuncCustData(ITypeInfo2* This,UINT index,CUSTDATA *pCustData) { | 
|  | return This->lpVtbl->GetAllFuncCustData(This,index,pCustData); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetAllParamCustData(ITypeInfo2* This,UINT indexFunc,UINT indexParam,CUSTDATA *pCustData) { | 
|  | return This->lpVtbl->GetAllParamCustData(This,indexFunc,indexParam,pCustData); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetAllVarCustData(ITypeInfo2* This,UINT index,CUSTDATA *pCustData) { | 
|  | return This->lpVtbl->GetAllVarCustData(This,index,pCustData); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeInfo2_GetAllImplTypeCustData(ITypeInfo2* This,UINT index,CUSTDATA *pCustData) { | 
|  | return This->lpVtbl->GetAllImplTypeCustData(This,index,pCustData); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE ITypeInfo2_RemoteGetDocumentation2_Proxy( | 
|  | ITypeInfo2* This, | 
|  | MEMBERID memid, | 
|  | LCID lcid, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll); | 
|  | void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ITypeInfo2_GetDocumentation2_Proxy( | 
|  | ITypeInfo2* This, | 
|  | MEMBERID memid, | 
|  | LCID lcid, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll); | 
|  | HRESULT __RPC_STUB ITypeInfo2_GetDocumentation2_Stub( | 
|  | ITypeInfo2* This, | 
|  | MEMBERID memid, | 
|  | LCID lcid, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll); | 
|  |  | 
|  | #endif  /* __ITypeInfo2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | 
|  | /***************************************************************************** | 
|  | * ITypeLib interface | 
|  | */ | 
|  | #ifndef __ITypeLib_INTERFACE_DEFINED__ | 
|  | #define __ITypeLib_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef enum tagSYSKIND { | 
|  | SYS_WIN16 = 0, | 
|  | SYS_WIN32 = 1, | 
|  | SYS_MAC = 2, | 
|  | SYS_WIN64 = 3 | 
|  | } SYSKIND; | 
|  |  | 
|  | typedef enum tagLIBFLAGS { | 
|  | LIBFLAG_FRESTRICTED = 0x1, | 
|  | LIBFLAG_FCONTROL = 0x2, | 
|  | LIBFLAG_FHIDDEN = 0x4, | 
|  | LIBFLAG_FHASDISKIMAGE = 0x8 | 
|  | } LIBFLAGS; | 
|  |  | 
|  | typedef ITypeLib *LPTYPELIB; | 
|  |  | 
|  | typedef struct tagTLIBATTR { | 
|  | GUID guid; | 
|  | LCID lcid; | 
|  | SYSKIND syskind; | 
|  | WORD wMajorVerNum; | 
|  | WORD wMinorVerNum; | 
|  | WORD wLibFlags; | 
|  | } TLIBATTR; | 
|  | typedef struct tagTLIBATTR *LPTLIBATTR; | 
|  |  | 
|  | DEFINE_GUID(IID_ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020402-0000-0000-c000-000000000046") | 
|  | ITypeLib : public IUnknown | 
|  | { | 
|  | virtual UINT STDMETHODCALLTYPE GetTypeInfoCount( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( | 
|  | UINT index, | 
|  | ITypeInfo **ppTInfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeInfoType( | 
|  | UINT index, | 
|  | TYPEKIND *pTKind) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeInfoOfGuid( | 
|  | REFGUID guid, | 
|  | ITypeInfo **ppTinfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLibAttr( | 
|  | TLIBATTR **ppTLibAttr) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeComp( | 
|  | ITypeComp **ppTComp) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDocumentation( | 
|  | INT index, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsName( | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | WINBOOL *pfName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindName( | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | MEMBERID *rgMemId, | 
|  | USHORT *pcFound) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE ReleaseTLibAttr( | 
|  | TLIBATTR *pTLibAttr) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITypeLibVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITypeLib *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITypeLib *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITypeLib *This); | 
|  |  | 
|  | /*** ITypeLib methods ***/ | 
|  | UINT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | ITypeLib *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | ITypeLib *This, | 
|  | UINT index, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)( | 
|  | ITypeLib *This, | 
|  | UINT index, | 
|  | TYPEKIND *pTKind); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)( | 
|  | ITypeLib *This, | 
|  | REFGUID guid, | 
|  | ITypeInfo **ppTinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLibAttr)( | 
|  | ITypeLib *This, | 
|  | TLIBATTR **ppTLibAttr); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeComp)( | 
|  | ITypeLib *This, | 
|  | ITypeComp **ppTComp); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDocumentation)( | 
|  | ITypeLib *This, | 
|  | INT index, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsName)( | 
|  | ITypeLib *This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | WINBOOL *pfName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindName)( | 
|  | ITypeLib *This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | MEMBERID *rgMemId, | 
|  | USHORT *pcFound); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *ReleaseTLibAttr)( | 
|  | ITypeLib *This, | 
|  | TLIBATTR *pTLibAttr); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITypeLibVtbl; | 
|  |  | 
|  | interface ITypeLib { | 
|  | CONST_VTBL ITypeLibVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITypeLib_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITypeLib_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITypeLib_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITypeLib methods ***/ | 
|  | #define ITypeLib_GetTypeInfoCount(This) (This)->lpVtbl->GetTypeInfoCount(This) | 
|  | #define ITypeLib_GetTypeInfo(This,index,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,index,ppTInfo) | 
|  | #define ITypeLib_GetTypeInfoType(This,index,pTKind) (This)->lpVtbl->GetTypeInfoType(This,index,pTKind) | 
|  | #define ITypeLib_GetTypeInfoOfGuid(This,guid,ppTinfo) (This)->lpVtbl->GetTypeInfoOfGuid(This,guid,ppTinfo) | 
|  | #define ITypeLib_GetLibAttr(This,ppTLibAttr) (This)->lpVtbl->GetLibAttr(This,ppTLibAttr) | 
|  | #define ITypeLib_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp) | 
|  | #define ITypeLib_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) | 
|  | #define ITypeLib_IsName(This,szNameBuf,lHashVal,pfName) (This)->lpVtbl->IsName(This,szNameBuf,lHashVal,pfName) | 
|  | #define ITypeLib_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) (This)->lpVtbl->FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) | 
|  | #define ITypeLib_ReleaseTLibAttr(This,pTLibAttr) (This)->lpVtbl->ReleaseTLibAttr(This,pTLibAttr) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeLib_QueryInterface(ITypeLib* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeLib_AddRef(ITypeLib* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeLib_Release(ITypeLib* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITypeLib methods ***/ | 
|  | static __WIDL_INLINE UINT ITypeLib_GetTypeInfoCount(ITypeLib* This) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib_GetTypeInfo(ITypeLib* This,UINT index,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,index,ppTInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib_GetTypeInfoType(ITypeLib* This,UINT index,TYPEKIND *pTKind) { | 
|  | return This->lpVtbl->GetTypeInfoType(This,index,pTKind); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib_GetTypeInfoOfGuid(ITypeLib* This,REFGUID guid,ITypeInfo **ppTinfo) { | 
|  | return This->lpVtbl->GetTypeInfoOfGuid(This,guid,ppTinfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib_GetLibAttr(ITypeLib* This,TLIBATTR **ppTLibAttr) { | 
|  | return This->lpVtbl->GetLibAttr(This,ppTLibAttr); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib_GetTypeComp(ITypeLib* This,ITypeComp **ppTComp) { | 
|  | return This->lpVtbl->GetTypeComp(This,ppTComp); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib_GetDocumentation(ITypeLib* This,INT index,BSTR *pBstrName,BSTR *pBstrDocString,DWORD *pdwHelpContext,BSTR *pBstrHelpFile) { | 
|  | return This->lpVtbl->GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib_IsName(ITypeLib* This,LPOLESTR szNameBuf,ULONG lHashVal,WINBOOL *pfName) { | 
|  | return This->lpVtbl->IsName(This,szNameBuf,lHashVal,pfName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib_FindName(ITypeLib* This,LPOLESTR szNameBuf,ULONG lHashVal,ITypeInfo **ppTInfo,MEMBERID *rgMemId,USHORT *pcFound) { | 
|  | return This->lpVtbl->FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound); | 
|  | } | 
|  | static __WIDL_INLINE void ITypeLib_ReleaseTLibAttr(ITypeLib* This,TLIBATTR *pTLibAttr) { | 
|  | This->lpVtbl->ReleaseTLibAttr(This,pTLibAttr); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetTypeInfoCount_Proxy( | 
|  | ITypeLib* This, | 
|  | UINT *pcTInfo); | 
|  | void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetLibAttr_Proxy( | 
|  | ITypeLib* This, | 
|  | LPTLIBATTR *ppTLibAttr, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetDocumentation_Proxy( | 
|  | ITypeLib* This, | 
|  | INT index, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  | void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeLib_RemoteIsName_Proxy( | 
|  | ITypeLib* This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | WINBOOL *pfName, | 
|  | BSTR *pBstrLibName); | 
|  | void __RPC_STUB ITypeLib_RemoteIsName_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeLib_RemoteFindName_Proxy( | 
|  | ITypeLib* This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | MEMBERID *rgMemId, | 
|  | USHORT *pcFound, | 
|  | BSTR *pBstrLibName); | 
|  | void __RPC_STUB ITypeLib_RemoteFindName_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeLib_LocalReleaseTLibAttr_Proxy( | 
|  | ITypeLib* This); | 
|  | void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy( | 
|  | ITypeLib* This); | 
|  | HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub( | 
|  | ITypeLib* This, | 
|  | UINT *pcTInfo); | 
|  | HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy( | 
|  | ITypeLib* This, | 
|  | TLIBATTR **ppTLibAttr); | 
|  | HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub( | 
|  | ITypeLib* This, | 
|  | LPTLIBATTR *ppTLibAttr, | 
|  | CLEANLOCALSTORAGE *pDummy); | 
|  | HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy( | 
|  | ITypeLib* This, | 
|  | INT index, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  | HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub( | 
|  | ITypeLib* This, | 
|  | INT index, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  | HRESULT CALLBACK ITypeLib_IsName_Proxy( | 
|  | ITypeLib* This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | WINBOOL *pfName); | 
|  | HRESULT __RPC_STUB ITypeLib_IsName_Stub( | 
|  | ITypeLib* This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | WINBOOL *pfName, | 
|  | BSTR *pBstrLibName); | 
|  | HRESULT CALLBACK ITypeLib_FindName_Proxy( | 
|  | ITypeLib* This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | MEMBERID *rgMemId, | 
|  | USHORT *pcFound); | 
|  | HRESULT __RPC_STUB ITypeLib_FindName_Stub( | 
|  | ITypeLib* This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | MEMBERID *rgMemId, | 
|  | USHORT *pcFound, | 
|  | BSTR *pBstrLibName); | 
|  | void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy( | 
|  | ITypeLib* This, | 
|  | TLIBATTR *pTLibAttr); | 
|  | HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub( | 
|  | ITypeLib* This); | 
|  |  | 
|  | #endif  /* __ITypeLib_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | 
|  | /***************************************************************************** | 
|  | * ITypeLib2 interface | 
|  | */ | 
|  | #ifndef __ITypeLib2_INTERFACE_DEFINED__ | 
|  | #define __ITypeLib2_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ITypeLib2 *LPTYPELIB2; | 
|  |  | 
|  | DEFINE_GUID(IID_ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020411-0000-0000-c000-000000000046") | 
|  | ITypeLib2 : public ITypeLib | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCustData( | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLibStatistics( | 
|  | ULONG *pcUniqueNames, | 
|  | ULONG *pcchUniqueNames) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDocumentation2( | 
|  | INT index, | 
|  | LCID lcid, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllCustData( | 
|  | CUSTDATA *pCustData) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITypeLib2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITypeLib2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITypeLib2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITypeLib2 *This); | 
|  |  | 
|  | /*** ITypeLib methods ***/ | 
|  | UINT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | ITypeLib2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | ITypeLib2 *This, | 
|  | UINT index, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)( | 
|  | ITypeLib2 *This, | 
|  | UINT index, | 
|  | TYPEKIND *pTKind); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)( | 
|  | ITypeLib2 *This, | 
|  | REFGUID guid, | 
|  | ITypeInfo **ppTinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLibAttr)( | 
|  | ITypeLib2 *This, | 
|  | TLIBATTR **ppTLibAttr); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeComp)( | 
|  | ITypeLib2 *This, | 
|  | ITypeComp **ppTComp); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDocumentation)( | 
|  | ITypeLib2 *This, | 
|  | INT index, | 
|  | BSTR *pBstrName, | 
|  | BSTR *pBstrDocString, | 
|  | DWORD *pdwHelpContext, | 
|  | BSTR *pBstrHelpFile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsName)( | 
|  | ITypeLib2 *This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | WINBOOL *pfName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindName)( | 
|  | ITypeLib2 *This, | 
|  | LPOLESTR szNameBuf, | 
|  | ULONG lHashVal, | 
|  | ITypeInfo **ppTInfo, | 
|  | MEMBERID *rgMemId, | 
|  | USHORT *pcFound); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *ReleaseTLibAttr)( | 
|  | ITypeLib2 *This, | 
|  | TLIBATTR *pTLibAttr); | 
|  |  | 
|  | /*** ITypeLib2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetCustData)( | 
|  | ITypeLib2 *This, | 
|  | REFGUID guid, | 
|  | VARIANT *pVarVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLibStatistics)( | 
|  | ITypeLib2 *This, | 
|  | ULONG *pcUniqueNames, | 
|  | ULONG *pcchUniqueNames); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDocumentation2)( | 
|  | ITypeLib2 *This, | 
|  | INT index, | 
|  | LCID lcid, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllCustData)( | 
|  | ITypeLib2 *This, | 
|  | CUSTDATA *pCustData); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITypeLib2Vtbl; | 
|  |  | 
|  | interface ITypeLib2 { | 
|  | CONST_VTBL ITypeLib2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITypeLib2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITypeLib2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITypeLib2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITypeLib methods ***/ | 
|  | #define ITypeLib2_GetTypeInfoCount(This) (This)->lpVtbl->GetTypeInfoCount(This) | 
|  | #define ITypeLib2_GetTypeInfo(This,index,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,index,ppTInfo) | 
|  | #define ITypeLib2_GetTypeInfoType(This,index,pTKind) (This)->lpVtbl->GetTypeInfoType(This,index,pTKind) | 
|  | #define ITypeLib2_GetTypeInfoOfGuid(This,guid,ppTinfo) (This)->lpVtbl->GetTypeInfoOfGuid(This,guid,ppTinfo) | 
|  | #define ITypeLib2_GetLibAttr(This,ppTLibAttr) (This)->lpVtbl->GetLibAttr(This,ppTLibAttr) | 
|  | #define ITypeLib2_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp) | 
|  | #define ITypeLib2_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) | 
|  | #define ITypeLib2_IsName(This,szNameBuf,lHashVal,pfName) (This)->lpVtbl->IsName(This,szNameBuf,lHashVal,pfName) | 
|  | #define ITypeLib2_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) (This)->lpVtbl->FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) | 
|  | #define ITypeLib2_ReleaseTLibAttr(This,pTLibAttr) (This)->lpVtbl->ReleaseTLibAttr(This,pTLibAttr) | 
|  | /*** ITypeLib2 methods ***/ | 
|  | #define ITypeLib2_GetCustData(This,guid,pVarVal) (This)->lpVtbl->GetCustData(This,guid,pVarVal) | 
|  | #define ITypeLib2_GetLibStatistics(This,pcUniqueNames,pcchUniqueNames) (This)->lpVtbl->GetLibStatistics(This,pcUniqueNames,pcchUniqueNames) | 
|  | #define ITypeLib2_GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) (This)->lpVtbl->GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) | 
|  | #define ITypeLib2_GetAllCustData(This,pCustData) (This)->lpVtbl->GetAllCustData(This,pCustData) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_QueryInterface(ITypeLib2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeLib2_AddRef(ITypeLib2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeLib2_Release(ITypeLib2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITypeLib methods ***/ | 
|  | static __WIDL_INLINE UINT ITypeLib2_GetTypeInfoCount(ITypeLib2* This) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetTypeInfo(ITypeLib2* This,UINT index,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,index,ppTInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetTypeInfoType(ITypeLib2* This,UINT index,TYPEKIND *pTKind) { | 
|  | return This->lpVtbl->GetTypeInfoType(This,index,pTKind); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetTypeInfoOfGuid(ITypeLib2* This,REFGUID guid,ITypeInfo **ppTinfo) { | 
|  | return This->lpVtbl->GetTypeInfoOfGuid(This,guid,ppTinfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetLibAttr(ITypeLib2* This,TLIBATTR **ppTLibAttr) { | 
|  | return This->lpVtbl->GetLibAttr(This,ppTLibAttr); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetTypeComp(ITypeLib2* This,ITypeComp **ppTComp) { | 
|  | return This->lpVtbl->GetTypeComp(This,ppTComp); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetDocumentation(ITypeLib2* This,INT index,BSTR *pBstrName,BSTR *pBstrDocString,DWORD *pdwHelpContext,BSTR *pBstrHelpFile) { | 
|  | return This->lpVtbl->GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_IsName(ITypeLib2* This,LPOLESTR szNameBuf,ULONG lHashVal,WINBOOL *pfName) { | 
|  | return This->lpVtbl->IsName(This,szNameBuf,lHashVal,pfName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_FindName(ITypeLib2* This,LPOLESTR szNameBuf,ULONG lHashVal,ITypeInfo **ppTInfo,MEMBERID *rgMemId,USHORT *pcFound) { | 
|  | return This->lpVtbl->FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound); | 
|  | } | 
|  | static __WIDL_INLINE void ITypeLib2_ReleaseTLibAttr(ITypeLib2* This,TLIBATTR *pTLibAttr) { | 
|  | This->lpVtbl->ReleaseTLibAttr(This,pTLibAttr); | 
|  | } | 
|  | /*** ITypeLib2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetCustData(ITypeLib2* This,REFGUID guid,VARIANT *pVarVal) { | 
|  | return This->lpVtbl->GetCustData(This,guid,pVarVal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetLibStatistics(ITypeLib2* This,ULONG *pcUniqueNames,ULONG *pcchUniqueNames) { | 
|  | return This->lpVtbl->GetLibStatistics(This,pcUniqueNames,pcchUniqueNames); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetDocumentation2(ITypeLib2* This,INT index,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll) { | 
|  | return This->lpVtbl->GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeLib2_GetAllCustData(ITypeLib2* This,CUSTDATA *pCustData) { | 
|  | return This->lpVtbl->GetAllCustData(This,pCustData); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetLibStatistics_Proxy( | 
|  | ITypeLib2* This, | 
|  | ULONG *pcUniqueNames, | 
|  | ULONG *pcchUniqueNames); | 
|  | void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetDocumentation2_Proxy( | 
|  | ITypeLib2* This, | 
|  | INT index, | 
|  | LCID lcid, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll); | 
|  | void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ITypeLib2_GetLibStatistics_Proxy( | 
|  | ITypeLib2* This, | 
|  | ULONG *pcUniqueNames, | 
|  | ULONG *pcchUniqueNames); | 
|  | HRESULT __RPC_STUB ITypeLib2_GetLibStatistics_Stub( | 
|  | ITypeLib2* This, | 
|  | ULONG *pcUniqueNames, | 
|  | ULONG *pcchUniqueNames); | 
|  | HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy( | 
|  | ITypeLib2* This, | 
|  | INT index, | 
|  | LCID lcid, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll); | 
|  | HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub( | 
|  | ITypeLib2* This, | 
|  | INT index, | 
|  | LCID lcid, | 
|  | DWORD refPtrFlags, | 
|  | BSTR *pbstrHelpString, | 
|  | DWORD *pdwHelpStringContext, | 
|  | BSTR *pbstrHelpStringDll); | 
|  |  | 
|  | #endif  /* __ITypeLib2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITypeChangeEvents interface | 
|  | */ | 
|  | #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__ | 
|  | #define __ITypeChangeEvents_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ITypeChangeEvents *LPTYPECHANGEEVENTS; | 
|  |  | 
|  | typedef enum tagCHANGEKIND { | 
|  | CHANGEKIND_ADDMEMBER = 0, | 
|  | CHANGEKIND_DELETEMEMBER = 1, | 
|  | CHANGEKIND_SETNAMES = 2, | 
|  | CHANGEKIND_SETDOCUMENTATION = 3, | 
|  | CHANGEKIND_GENERAL = 4, | 
|  | CHANGEKIND_INVALIDATE = 5, | 
|  | CHANGEKIND_CHANGEFAILED = 6, | 
|  | CHANGEKIND_MAX = 7 | 
|  | } CHANGEKIND; | 
|  |  | 
|  | DEFINE_GUID(IID_ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00020410-0000-0000-c000-000000000046") | 
|  | ITypeChangeEvents : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE RequestTypeChange( | 
|  | CHANGEKIND changeKind, | 
|  | ITypeInfo *pTInfoBefore, | 
|  | LPOLESTR pStrName, | 
|  | INT *pfCancel) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AfterTypeChange( | 
|  | CHANGEKIND changeKind, | 
|  | ITypeInfo *pTInfoAfter, | 
|  | LPOLESTR pStrName) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITypeChangeEventsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITypeChangeEvents *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITypeChangeEvents *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITypeChangeEvents *This); | 
|  |  | 
|  | /*** ITypeChangeEvents methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *RequestTypeChange)( | 
|  | ITypeChangeEvents *This, | 
|  | CHANGEKIND changeKind, | 
|  | ITypeInfo *pTInfoBefore, | 
|  | LPOLESTR pStrName, | 
|  | INT *pfCancel); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AfterTypeChange)( | 
|  | ITypeChangeEvents *This, | 
|  | CHANGEKIND changeKind, | 
|  | ITypeInfo *pTInfoAfter, | 
|  | LPOLESTR pStrName); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITypeChangeEventsVtbl; | 
|  |  | 
|  | interface ITypeChangeEvents { | 
|  | CONST_VTBL ITypeChangeEventsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITypeChangeEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITypeChangeEvents_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITypeChangeEvents_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITypeChangeEvents methods ***/ | 
|  | #define ITypeChangeEvents_RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel) (This)->lpVtbl->RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel) | 
|  | #define ITypeChangeEvents_AfterTypeChange(This,changeKind,pTInfoAfter,pStrName) (This)->lpVtbl->AfterTypeChange(This,changeKind,pTInfoAfter,pStrName) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeChangeEvents_QueryInterface(ITypeChangeEvents* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeChangeEvents_AddRef(ITypeChangeEvents* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeChangeEvents_Release(ITypeChangeEvents* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITypeChangeEvents methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeChangeEvents_RequestTypeChange(ITypeChangeEvents* This,CHANGEKIND changeKind,ITypeInfo *pTInfoBefore,LPOLESTR pStrName,INT *pfCancel) { | 
|  | return This->lpVtbl->RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeChangeEvents_AfterTypeChange(ITypeChangeEvents* This,CHANGEKIND changeKind,ITypeInfo *pTInfoAfter,LPOLESTR pStrName) { | 
|  | return This->lpVtbl->AfterTypeChange(This,changeKind,pTInfoAfter,pStrName); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITypeChangeEvents_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IErrorInfo interface | 
|  | */ | 
|  | #ifndef __IErrorInfo_INTERFACE_DEFINED__ | 
|  | #define __IErrorInfo_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef IErrorInfo *LPERRORINFO; | 
|  |  | 
|  | DEFINE_GUID(IID_IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("1cf2b120-547d-101b-8e65-08002b2bd119") | 
|  | IErrorInfo : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGUID( | 
|  | GUID *pGUID) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSource( | 
|  | BSTR *pBstrSource) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDescription( | 
|  | BSTR *pBstrDescription) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetHelpFile( | 
|  | BSTR *pBstrHelpFile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetHelpContext( | 
|  | DWORD *pdwHelpContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IErrorInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IErrorInfo *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IErrorInfo *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IErrorInfo *This); | 
|  |  | 
|  | /*** IErrorInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetGUID)( | 
|  | IErrorInfo *This, | 
|  | GUID *pGUID); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSource)( | 
|  | IErrorInfo *This, | 
|  | BSTR *pBstrSource); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDescription)( | 
|  | IErrorInfo *This, | 
|  | BSTR *pBstrDescription); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetHelpFile)( | 
|  | IErrorInfo *This, | 
|  | BSTR *pBstrHelpFile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetHelpContext)( | 
|  | IErrorInfo *This, | 
|  | DWORD *pdwHelpContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IErrorInfoVtbl; | 
|  |  | 
|  | interface IErrorInfo { | 
|  | CONST_VTBL IErrorInfoVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IErrorInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IErrorInfo methods ***/ | 
|  | #define IErrorInfo_GetGUID(This,pGUID) (This)->lpVtbl->GetGUID(This,pGUID) | 
|  | #define IErrorInfo_GetSource(This,pBstrSource) (This)->lpVtbl->GetSource(This,pBstrSource) | 
|  | #define IErrorInfo_GetDescription(This,pBstrDescription) (This)->lpVtbl->GetDescription(This,pBstrDescription) | 
|  | #define IErrorInfo_GetHelpFile(This,pBstrHelpFile) (This)->lpVtbl->GetHelpFile(This,pBstrHelpFile) | 
|  | #define IErrorInfo_GetHelpContext(This,pdwHelpContext) (This)->lpVtbl->GetHelpContext(This,pdwHelpContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IErrorInfo_QueryInterface(IErrorInfo* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IErrorInfo_AddRef(IErrorInfo* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IErrorInfo_Release(IErrorInfo* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IErrorInfo methods ***/ | 
|  | static __WIDL_INLINE HRESULT IErrorInfo_GetGUID(IErrorInfo* This,GUID *pGUID) { | 
|  | return This->lpVtbl->GetGUID(This,pGUID); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IErrorInfo_GetSource(IErrorInfo* This,BSTR *pBstrSource) { | 
|  | return This->lpVtbl->GetSource(This,pBstrSource); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IErrorInfo_GetDescription(IErrorInfo* This,BSTR *pBstrDescription) { | 
|  | return This->lpVtbl->GetDescription(This,pBstrDescription); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IErrorInfo_GetHelpFile(IErrorInfo* This,BSTR *pBstrHelpFile) { | 
|  | return This->lpVtbl->GetHelpFile(This,pBstrHelpFile); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IErrorInfo_GetHelpContext(IErrorInfo* This,DWORD *pdwHelpContext) { | 
|  | return This->lpVtbl->GetHelpContext(This,pdwHelpContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IErrorInfo_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICreateErrorInfo interface | 
|  | */ | 
|  | #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__ | 
|  | #define __ICreateErrorInfo_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ICreateErrorInfo *LPCREATEERRORINFO; | 
|  |  | 
|  | DEFINE_GUID(IID_ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("22f03340-547d-101b-8e65-08002b2bd119") | 
|  | ICreateErrorInfo : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetGUID( | 
|  | REFGUID rguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSource( | 
|  | LPOLESTR szSource) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDescription( | 
|  | LPOLESTR szDescription) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetHelpFile( | 
|  | LPOLESTR szHelpFile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetHelpContext( | 
|  | DWORD dwHelpContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ICreateErrorInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICreateErrorInfo *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICreateErrorInfo *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICreateErrorInfo *This); | 
|  |  | 
|  | /*** ICreateErrorInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetGUID)( | 
|  | ICreateErrorInfo *This, | 
|  | REFGUID rguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSource)( | 
|  | ICreateErrorInfo *This, | 
|  | LPOLESTR szSource); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDescription)( | 
|  | ICreateErrorInfo *This, | 
|  | LPOLESTR szDescription); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpFile)( | 
|  | ICreateErrorInfo *This, | 
|  | LPOLESTR szHelpFile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetHelpContext)( | 
|  | ICreateErrorInfo *This, | 
|  | DWORD dwHelpContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ICreateErrorInfoVtbl; | 
|  |  | 
|  | interface ICreateErrorInfo { | 
|  | CONST_VTBL ICreateErrorInfoVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICreateErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICreateErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICreateErrorInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ICreateErrorInfo methods ***/ | 
|  | #define ICreateErrorInfo_SetGUID(This,rguid) (This)->lpVtbl->SetGUID(This,rguid) | 
|  | #define ICreateErrorInfo_SetSource(This,szSource) (This)->lpVtbl->SetSource(This,szSource) | 
|  | #define ICreateErrorInfo_SetDescription(This,szDescription) (This)->lpVtbl->SetDescription(This,szDescription) | 
|  | #define ICreateErrorInfo_SetHelpFile(This,szHelpFile) (This)->lpVtbl->SetHelpFile(This,szHelpFile) | 
|  | #define ICreateErrorInfo_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateErrorInfo_QueryInterface(ICreateErrorInfo* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateErrorInfo_AddRef(ICreateErrorInfo* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateErrorInfo_Release(ICreateErrorInfo* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ICreateErrorInfo methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateErrorInfo_SetGUID(ICreateErrorInfo* This,REFGUID rguid) { | 
|  | return This->lpVtbl->SetGUID(This,rguid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateErrorInfo_SetSource(ICreateErrorInfo* This,LPOLESTR szSource) { | 
|  | return This->lpVtbl->SetSource(This,szSource); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateErrorInfo_SetDescription(ICreateErrorInfo* This,LPOLESTR szDescription) { | 
|  | return This->lpVtbl->SetDescription(This,szDescription); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateErrorInfo_SetHelpFile(ICreateErrorInfo* This,LPOLESTR szHelpFile) { | 
|  | return This->lpVtbl->SetHelpFile(This,szHelpFile); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICreateErrorInfo_SetHelpContext(ICreateErrorInfo* This,DWORD dwHelpContext) { | 
|  | return This->lpVtbl->SetHelpContext(This,dwHelpContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ICreateErrorInfo_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ISupportErrorInfo interface | 
|  | */ | 
|  | #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__ | 
|  | #define __ISupportErrorInfo_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef ISupportErrorInfo *LPSUPPORTERRORINFO; | 
|  |  | 
|  | DEFINE_GUID(IID_ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("df0b3d60-548f-101b-8e65-08002b2bd119") | 
|  | ISupportErrorInfo : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo( | 
|  | REFIID riid) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ISupportErrorInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ISupportErrorInfo *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ISupportErrorInfo *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ISupportErrorInfo *This); | 
|  |  | 
|  | /*** ISupportErrorInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *InterfaceSupportsErrorInfo)( | 
|  | ISupportErrorInfo *This, | 
|  | REFIID riid); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ISupportErrorInfoVtbl; | 
|  |  | 
|  | interface ISupportErrorInfo { | 
|  | CONST_VTBL ISupportErrorInfoVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ISupportErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ISupportErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ISupportErrorInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ISupportErrorInfo methods ***/ | 
|  | #define ISupportErrorInfo_InterfaceSupportsErrorInfo(This,riid) (This)->lpVtbl->InterfaceSupportsErrorInfo(This,riid) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ISupportErrorInfo_QueryInterface(ISupportErrorInfo* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ISupportErrorInfo_AddRef(ISupportErrorInfo* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ISupportErrorInfo_Release(ISupportErrorInfo* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ISupportErrorInfo methods ***/ | 
|  | static __WIDL_INLINE HRESULT ISupportErrorInfo_InterfaceSupportsErrorInfo(ISupportErrorInfo* This,REFIID riid) { | 
|  | return This->lpVtbl->InterfaceSupportsErrorInfo(This,riid); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ISupportErrorInfo_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITypeFactory interface | 
|  | */ | 
|  | #ifndef __ITypeFactory_INTERFACE_DEFINED__ | 
|  | #define __ITypeFactory_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITypeFactory, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("0000002e-0000-0000-c000-000000000046") | 
|  | ITypeFactory : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateFromTypeInfo( | 
|  | ITypeInfo *pTypeInfo, | 
|  | REFIID riid, | 
|  | IUnknown **ppv) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITypeFactory, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITypeFactoryVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITypeFactory *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITypeFactory *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITypeFactory *This); | 
|  |  | 
|  | /*** ITypeFactory methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *CreateFromTypeInfo)( | 
|  | ITypeFactory *This, | 
|  | ITypeInfo *pTypeInfo, | 
|  | REFIID riid, | 
|  | IUnknown **ppv); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITypeFactoryVtbl; | 
|  |  | 
|  | interface ITypeFactory { | 
|  | CONST_VTBL ITypeFactoryVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITypeFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITypeFactory_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITypeFactory_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITypeFactory methods ***/ | 
|  | #define ITypeFactory_CreateFromTypeInfo(This,pTypeInfo,riid,ppv) (This)->lpVtbl->CreateFromTypeInfo(This,pTypeInfo,riid,ppv) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeFactory_QueryInterface(ITypeFactory* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeFactory_AddRef(ITypeFactory* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeFactory_Release(ITypeFactory* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITypeFactory methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeFactory_CreateFromTypeInfo(ITypeFactory* This,ITypeInfo *pTypeInfo,REFIID riid,IUnknown **ppv) { | 
|  | return This->lpVtbl->CreateFromTypeInfo(This,pTypeInfo,riid,ppv); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITypeFactory_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITypeMarshal interface | 
|  | */ | 
|  | #ifndef __ITypeMarshal_INTERFACE_DEFINED__ | 
|  | #define __ITypeMarshal_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITypeMarshal, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("0000002d-0000-0000-c000-000000000046") | 
|  | ITypeMarshal : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Size( | 
|  | PVOID pvType, | 
|  | DWORD dwDestContext, | 
|  | PVOID pvDestContext, | 
|  | ULONG *pSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Marshal( | 
|  | PVOID pvType, | 
|  | DWORD dwDestContext, | 
|  | PVOID pvDestContext, | 
|  | ULONG cbBufferLength, | 
|  | BYTE *pBuffer, | 
|  | ULONG *pcbWritten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Unmarshal( | 
|  | PVOID pvType, | 
|  | DWORD dwFlags, | 
|  | ULONG cbBufferLength, | 
|  | BYTE *pBuffer, | 
|  | ULONG *pcbRead) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Free( | 
|  | PVOID pvType) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITypeMarshal, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITypeMarshalVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITypeMarshal *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITypeMarshal *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITypeMarshal *This); | 
|  |  | 
|  | /*** ITypeMarshal methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Size)( | 
|  | ITypeMarshal *This, | 
|  | PVOID pvType, | 
|  | DWORD dwDestContext, | 
|  | PVOID pvDestContext, | 
|  | ULONG *pSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Marshal)( | 
|  | ITypeMarshal *This, | 
|  | PVOID pvType, | 
|  | DWORD dwDestContext, | 
|  | PVOID pvDestContext, | 
|  | ULONG cbBufferLength, | 
|  | BYTE *pBuffer, | 
|  | ULONG *pcbWritten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Unmarshal)( | 
|  | ITypeMarshal *This, | 
|  | PVOID pvType, | 
|  | DWORD dwFlags, | 
|  | ULONG cbBufferLength, | 
|  | BYTE *pBuffer, | 
|  | ULONG *pcbRead); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Free)( | 
|  | ITypeMarshal *This, | 
|  | PVOID pvType); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITypeMarshalVtbl; | 
|  |  | 
|  | interface ITypeMarshal { | 
|  | CONST_VTBL ITypeMarshalVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITypeMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITypeMarshal_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITypeMarshal_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITypeMarshal methods ***/ | 
|  | #define ITypeMarshal_Size(This,pvType,dwDestContext,pvDestContext,pSize) (This)->lpVtbl->Size(This,pvType,dwDestContext,pvDestContext,pSize) | 
|  | #define ITypeMarshal_Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten) (This)->lpVtbl->Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten) | 
|  | #define ITypeMarshal_Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead) (This)->lpVtbl->Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead) | 
|  | #define ITypeMarshal_Free(This,pvType) (This)->lpVtbl->Free(This,pvType) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeMarshal_QueryInterface(ITypeMarshal* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeMarshal_AddRef(ITypeMarshal* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ITypeMarshal_Release(ITypeMarshal* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITypeMarshal methods ***/ | 
|  | static __WIDL_INLINE HRESULT ITypeMarshal_Size(ITypeMarshal* This,PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG *pSize) { | 
|  | return This->lpVtbl->Size(This,pvType,dwDestContext,pvDestContext,pSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeMarshal_Marshal(ITypeMarshal* This,PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG cbBufferLength,BYTE *pBuffer,ULONG *pcbWritten) { | 
|  | return This->lpVtbl->Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeMarshal_Unmarshal(ITypeMarshal* This,PVOID pvType,DWORD dwFlags,ULONG cbBufferLength,BYTE *pBuffer,ULONG *pcbRead) { | 
|  | return This->lpVtbl->Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ITypeMarshal_Free(ITypeMarshal* This,PVOID pvType) { | 
|  | return This->lpVtbl->Free(This,pvType); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITypeMarshal_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IRecordInfo interface | 
|  | */ | 
|  | #ifndef __IRecordInfo_INTERFACE_DEFINED__ | 
|  | #define __IRecordInfo_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef IRecordInfo *LPRECORDINFO; | 
|  |  | 
|  | DEFINE_GUID(IID_IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("0000002f-0000-0000-c000-000000000046") | 
|  | IRecordInfo : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE RecordInit( | 
|  | PVOID pvNew) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RecordClear( | 
|  | PVOID pvExisting) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RecordCopy( | 
|  | PVOID pvExisting, | 
|  | PVOID pvNew) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGuid( | 
|  | GUID *pguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetName( | 
|  | BSTR *pbstrName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSize( | 
|  | ULONG *pcbSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( | 
|  | ITypeInfo **ppTypeInfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetField( | 
|  | PVOID pvData, | 
|  | LPCOLESTR szFieldName, | 
|  | VARIANT *pvarField) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFieldNoCopy( | 
|  | PVOID pvData, | 
|  | LPCOLESTR szFieldName, | 
|  | VARIANT *pvarField, | 
|  | PVOID *ppvDataCArray) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE PutField( | 
|  | ULONG wFlags, | 
|  | PVOID pvData, | 
|  | LPCOLESTR szFieldName, | 
|  | VARIANT *pvarField) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE PutFieldNoCopy( | 
|  | ULONG wFlags, | 
|  | PVOID pvData, | 
|  | LPCOLESTR szFieldName, | 
|  | VARIANT *pvarField) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFieldNames( | 
|  | ULONG *pcNames, | 
|  | BSTR *rgBstrNames) = 0; | 
|  |  | 
|  | virtual WINBOOL STDMETHODCALLTYPE IsMatchingType( | 
|  | IRecordInfo *pRecordInfo) = 0; | 
|  |  | 
|  | virtual PVOID STDMETHODCALLTYPE RecordCreate( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RecordCreateCopy( | 
|  | PVOID pvSource, | 
|  | PVOID *ppvDest) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RecordDestroy( | 
|  | PVOID pvRecord) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IRecordInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IRecordInfo *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IRecordInfo *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IRecordInfo *This); | 
|  |  | 
|  | /*** IRecordInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *RecordInit)( | 
|  | IRecordInfo *This, | 
|  | PVOID pvNew); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RecordClear)( | 
|  | IRecordInfo *This, | 
|  | PVOID pvExisting); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RecordCopy)( | 
|  | IRecordInfo *This, | 
|  | PVOID pvExisting, | 
|  | PVOID pvNew); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGuid)( | 
|  | IRecordInfo *This, | 
|  | GUID *pguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetName)( | 
|  | IRecordInfo *This, | 
|  | BSTR *pbstrName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSize)( | 
|  | IRecordInfo *This, | 
|  | ULONG *pcbSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IRecordInfo *This, | 
|  | ITypeInfo **ppTypeInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetField)( | 
|  | IRecordInfo *This, | 
|  | PVOID pvData, | 
|  | LPCOLESTR szFieldName, | 
|  | VARIANT *pvarField); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFieldNoCopy)( | 
|  | IRecordInfo *This, | 
|  | PVOID pvData, | 
|  | LPCOLESTR szFieldName, | 
|  | VARIANT *pvarField, | 
|  | PVOID *ppvDataCArray); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *PutField)( | 
|  | IRecordInfo *This, | 
|  | ULONG wFlags, | 
|  | PVOID pvData, | 
|  | LPCOLESTR szFieldName, | 
|  | VARIANT *pvarField); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *PutFieldNoCopy)( | 
|  | IRecordInfo *This, | 
|  | ULONG wFlags, | 
|  | PVOID pvData, | 
|  | LPCOLESTR szFieldName, | 
|  | VARIANT *pvarField); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFieldNames)( | 
|  | IRecordInfo *This, | 
|  | ULONG *pcNames, | 
|  | BSTR *rgBstrNames); | 
|  |  | 
|  | WINBOOL (STDMETHODCALLTYPE *IsMatchingType)( | 
|  | IRecordInfo *This, | 
|  | IRecordInfo *pRecordInfo); | 
|  |  | 
|  | PVOID (STDMETHODCALLTYPE *RecordCreate)( | 
|  | IRecordInfo *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RecordCreateCopy)( | 
|  | IRecordInfo *This, | 
|  | PVOID pvSource, | 
|  | PVOID *ppvDest); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RecordDestroy)( | 
|  | IRecordInfo *This, | 
|  | PVOID pvRecord); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IRecordInfoVtbl; | 
|  |  | 
|  | interface IRecordInfo { | 
|  | CONST_VTBL IRecordInfoVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IRecordInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IRecordInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IRecordInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IRecordInfo methods ***/ | 
|  | #define IRecordInfo_RecordInit(This,pvNew) (This)->lpVtbl->RecordInit(This,pvNew) | 
|  | #define IRecordInfo_RecordClear(This,pvExisting) (This)->lpVtbl->RecordClear(This,pvExisting) | 
|  | #define IRecordInfo_RecordCopy(This,pvExisting,pvNew) (This)->lpVtbl->RecordCopy(This,pvExisting,pvNew) | 
|  | #define IRecordInfo_GetGuid(This,pguid) (This)->lpVtbl->GetGuid(This,pguid) | 
|  | #define IRecordInfo_GetName(This,pbstrName) (This)->lpVtbl->GetName(This,pbstrName) | 
|  | #define IRecordInfo_GetSize(This,pcbSize) (This)->lpVtbl->GetSize(This,pcbSize) | 
|  | #define IRecordInfo_GetTypeInfo(This,ppTypeInfo) (This)->lpVtbl->GetTypeInfo(This,ppTypeInfo) | 
|  | #define IRecordInfo_GetField(This,pvData,szFieldName,pvarField) (This)->lpVtbl->GetField(This,pvData,szFieldName,pvarField) | 
|  | #define IRecordInfo_GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray) (This)->lpVtbl->GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray) | 
|  | #define IRecordInfo_PutField(This,wFlags,pvData,szFieldName,pvarField) (This)->lpVtbl->PutField(This,wFlags,pvData,szFieldName,pvarField) | 
|  | #define IRecordInfo_PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField) (This)->lpVtbl->PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField) | 
|  | #define IRecordInfo_GetFieldNames(This,pcNames,rgBstrNames) (This)->lpVtbl->GetFieldNames(This,pcNames,rgBstrNames) | 
|  | #define IRecordInfo_IsMatchingType(This,pRecordInfo) (This)->lpVtbl->IsMatchingType(This,pRecordInfo) | 
|  | #define IRecordInfo_RecordCreate(This) (This)->lpVtbl->RecordCreate(This) | 
|  | #define IRecordInfo_RecordCreateCopy(This,pvSource,ppvDest) (This)->lpVtbl->RecordCreateCopy(This,pvSource,ppvDest) | 
|  | #define IRecordInfo_RecordDestroy(This,pvRecord) (This)->lpVtbl->RecordDestroy(This,pvRecord) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_QueryInterface(IRecordInfo* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IRecordInfo_AddRef(IRecordInfo* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IRecordInfo_Release(IRecordInfo* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IRecordInfo methods ***/ | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_RecordInit(IRecordInfo* This,PVOID pvNew) { | 
|  | return This->lpVtbl->RecordInit(This,pvNew); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_RecordClear(IRecordInfo* This,PVOID pvExisting) { | 
|  | return This->lpVtbl->RecordClear(This,pvExisting); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_RecordCopy(IRecordInfo* This,PVOID pvExisting,PVOID pvNew) { | 
|  | return This->lpVtbl->RecordCopy(This,pvExisting,pvNew); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_GetGuid(IRecordInfo* This,GUID *pguid) { | 
|  | return This->lpVtbl->GetGuid(This,pguid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_GetName(IRecordInfo* This,BSTR *pbstrName) { | 
|  | return This->lpVtbl->GetName(This,pbstrName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_GetSize(IRecordInfo* This,ULONG *pcbSize) { | 
|  | return This->lpVtbl->GetSize(This,pcbSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_GetTypeInfo(IRecordInfo* This,ITypeInfo **ppTypeInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,ppTypeInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_GetField(IRecordInfo* This,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField) { | 
|  | return This->lpVtbl->GetField(This,pvData,szFieldName,pvarField); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_GetFieldNoCopy(IRecordInfo* This,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField,PVOID *ppvDataCArray) { | 
|  | return This->lpVtbl->GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_PutField(IRecordInfo* This,ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField) { | 
|  | return This->lpVtbl->PutField(This,wFlags,pvData,szFieldName,pvarField); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_PutFieldNoCopy(IRecordInfo* This,ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT *pvarField) { | 
|  | return This->lpVtbl->PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_GetFieldNames(IRecordInfo* This,ULONG *pcNames,BSTR *rgBstrNames) { | 
|  | return This->lpVtbl->GetFieldNames(This,pcNames,rgBstrNames); | 
|  | } | 
|  | static __WIDL_INLINE WINBOOL IRecordInfo_IsMatchingType(IRecordInfo* This,IRecordInfo *pRecordInfo) { | 
|  | return This->lpVtbl->IsMatchingType(This,pRecordInfo); | 
|  | } | 
|  | static __WIDL_INLINE PVOID IRecordInfo_RecordCreate(IRecordInfo* This) { | 
|  | return This->lpVtbl->RecordCreate(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_RecordCreateCopy(IRecordInfo* This,PVOID pvSource,PVOID *ppvDest) { | 
|  | return This->lpVtbl->RecordCreateCopy(This,pvSource,ppvDest); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IRecordInfo_RecordDestroy(IRecordInfo* This,PVOID pvRecord) { | 
|  | return This->lpVtbl->RecordDestroy(This,pvRecord); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IRecordInfo_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IErrorLog interface | 
|  | */ | 
|  | #ifndef __IErrorLog_INTERFACE_DEFINED__ | 
|  | #define __IErrorLog_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef IErrorLog *LPERRORLOG; | 
|  |  | 
|  | DEFINE_GUID(IID_IErrorLog, 0x3127ca40, 0x446e, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("3127ca40-446e-11ce-8135-00aa004bb851") | 
|  | IErrorLog : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AddError( | 
|  | LPCOLESTR pszPropName, | 
|  | EXCEPINFO *pExcepInfo) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IErrorLog, 0x3127ca40, 0x446e, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IErrorLogVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IErrorLog *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IErrorLog *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IErrorLog *This); | 
|  |  | 
|  | /*** IErrorLog methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AddError)( | 
|  | IErrorLog *This, | 
|  | LPCOLESTR pszPropName, | 
|  | EXCEPINFO *pExcepInfo); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IErrorLogVtbl; | 
|  |  | 
|  | interface IErrorLog { | 
|  | CONST_VTBL IErrorLogVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IErrorLog_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IErrorLog methods ***/ | 
|  | #define IErrorLog_AddError(This,pszPropName,pExcepInfo) (This)->lpVtbl->AddError(This,pszPropName,pExcepInfo) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IErrorLog_QueryInterface(IErrorLog* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IErrorLog_AddRef(IErrorLog* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IErrorLog_Release(IErrorLog* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IErrorLog methods ***/ | 
|  | static __WIDL_INLINE HRESULT IErrorLog_AddError(IErrorLog* This,LPCOLESTR pszPropName,EXCEPINFO *pExcepInfo) { | 
|  | return This->lpVtbl->AddError(This,pszPropName,pExcepInfo); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IErrorLog_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IPropertyBag interface | 
|  | */ | 
|  | #ifndef __IPropertyBag_INTERFACE_DEFINED__ | 
|  | #define __IPropertyBag_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef IPropertyBag *LPPROPERTYBAG; | 
|  |  | 
|  | DEFINE_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("55272a00-42cb-11ce-8135-00aa004bb851") | 
|  | IPropertyBag : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Read( | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar, | 
|  | IErrorLog *pErrorLog) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Write( | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IPropertyBagVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IPropertyBag *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IPropertyBag *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IPropertyBag *This); | 
|  |  | 
|  | /*** IPropertyBag methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Read)( | 
|  | IPropertyBag *This, | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar, | 
|  | IErrorLog *pErrorLog); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Write)( | 
|  | IPropertyBag *This, | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IPropertyBagVtbl; | 
|  |  | 
|  | interface IPropertyBag { | 
|  | CONST_VTBL IPropertyBagVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPropertyBag_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPropertyBag methods ***/ | 
|  | #define IPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog) | 
|  | #define IPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IPropertyBag_QueryInterface(IPropertyBag* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IPropertyBag_AddRef(IPropertyBag* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IPropertyBag_Release(IPropertyBag* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPropertyBag methods ***/ | 
|  | static __WIDL_INLINE HRESULT IPropertyBag_Read(IPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) { | 
|  | return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPropertyBag_Write(IPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar) { | 
|  | return This->lpVtbl->Write(This,pszPropName,pVar); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IPropertyBag_RemoteRead_Proxy( | 
|  | IPropertyBag* This, | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar, | 
|  | IErrorLog *pErrorLog, | 
|  | DWORD varType, | 
|  | IUnknown *pUnkObj); | 
|  | void __RPC_STUB IPropertyBag_RemoteRead_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IPropertyBag_Read_Proxy( | 
|  | IPropertyBag* This, | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar, | 
|  | IErrorLog *pErrorLog); | 
|  | HRESULT __RPC_STUB IPropertyBag_Read_Stub( | 
|  | IPropertyBag* This, | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar, | 
|  | IErrorLog *pErrorLog, | 
|  | DWORD varType, | 
|  | IUnknown *pUnkObj); | 
|  |  | 
|  | #endif  /* __IPropertyBag_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  | ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *); | 
|  | unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *); | 
|  | unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *); | 
|  | void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *); | 
|  | ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); | 
|  | void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *); | 
|  | ULONG           __RPC_USER CLEANLOCALSTORAGE_UserSize     (ULONG *, ULONG, CLEANLOCALSTORAGE *); | 
|  | unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserMarshal  (ULONG *, unsigned char *, CLEANLOCALSTORAGE *); | 
|  | unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserUnmarshal(ULONG *, unsigned char *, CLEANLOCALSTORAGE *); | 
|  | void            __RPC_USER CLEANLOCALSTORAGE_UserFree     (ULONG *, CLEANLOCALSTORAGE *); | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __oaidl_h__ */ |