
/* This file is automatically generated; do not edit. */

/* Copyright 1998 Functional Objects, Inc.  All rights reserved. */

#include <objbase.h>
#include <oaidl.h>

#include "auto-aux.c"

#include "c-auto.h"

// Suppress warning: "formal parameter 1 different from declaration"
#pragma warning (disable : 4028)


	/*  ICreateTypeInfo  */

HRESULT C_ICreateTypeInfo_SetGuid ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ REFGUID guid) {
  return This->lpVtbl->SetGuid(This,guid);
}

HRESULT C_ICreateTypeInfo_SetTypeFlags ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT uTypeFlags) {
  return This->lpVtbl->SetTypeFlags(This,uTypeFlags);
}

HRESULT C_ICreateTypeInfo_SetDocString ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ LPOLESTR pStrDoc) {
  return This->lpVtbl->SetDocString(This,pStrDoc);
}

HRESULT C_ICreateTypeInfo_SetHelpContext ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ DWORD dwHelpContext) {
  return This->lpVtbl->SetHelpContext(This,dwHelpContext);
}

HRESULT C_ICreateTypeInfo_SetVersion ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ WORD wMajorVerNum,
	    /* [in] */ WORD wMinorVerNum) {
  return This->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum);
}

HRESULT C_ICreateTypeInfo_AddRefTypeInfo ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
	    /* [in] */ HREFTYPE __RPC_FAR *phRefType) {
  return This->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType);
}

HRESULT C_ICreateTypeInfo_AddFuncDesc ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc) {
  return This->lpVtbl->AddFuncDesc(This,index,pFuncDesc);
}

HRESULT C_ICreateTypeInfo_AddImplType ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ HREFTYPE hRefType) {
  return This->lpVtbl->AddImplType(This,index,hRefType);
}

HRESULT C_ICreateTypeInfo_SetImplTypeFlags ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ INT implTypeFlags) {
  return This->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags);
}

HRESULT C_ICreateTypeInfo_SetAlignment ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ WORD cbAlignment) {
  return This->lpVtbl->SetAlignment(This,cbAlignment);
}

HRESULT C_ICreateTypeInfo_SetSchema ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ LPOLESTR pStrSchema) {
  return This->lpVtbl->SetSchema(This,pStrSchema);
}

HRESULT C_ICreateTypeInfo_AddVarDesc ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ VARDESC __RPC_FAR *pVarDesc) {
  return This->lpVtbl->AddVarDesc(This,index,pVarDesc);
}

HRESULT C_ICreateTypeInfo_SetFuncAndParamNames ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
	    /* [in] */ UINT cNames) {
  return This->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,
		cNames);
}

HRESULT C_ICreateTypeInfo_SetVarName ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ LPOLESTR szName) {
  return This->lpVtbl->SetVarName(This,index,szName);
}

HRESULT C_ICreateTypeInfo_SetTypeDescAlias ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias) {
  return This->lpVtbl->SetTypeDescAlias(This,pTDescAlias);
}

HRESULT C_ICreateTypeInfo_DefineFuncAsDllEntry ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ LPOLESTR szDllName,
	    /* [in] */ LPOLESTR szProcName) {
  return This->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,
		szProcName);
}

HRESULT C_ICreateTypeInfo_SetFuncDocString ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ LPOLESTR szDocString) {
  return This->lpVtbl->SetFuncDocString(This,index,szDocString);
}

HRESULT C_ICreateTypeInfo_SetVarDocString ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ LPOLESTR szDocString) {
  return This->lpVtbl->SetVarDocString(This,index,szDocString);
}

HRESULT C_ICreateTypeInfo_SetFuncHelpContext ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ DWORD dwHelpContext) {
  return This->lpVtbl->SetFuncHelpContext(This,index,
		dwHelpContext);
}

HRESULT C_ICreateTypeInfo_SetVarHelpContext ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ DWORD dwHelpContext) {
  return This->lpVtbl->SetVarHelpContext(This,index,dwHelpContext);
}

HRESULT C_ICreateTypeInfo_SetMops ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ BSTR bstrMops) {
  return This->lpVtbl->SetMops(This,index,bstrMops);
}

HRESULT C_ICreateTypeInfo_SetTypeIdldesc ( 
	    ICreateTypeInfo __RPC_FAR * This, 
	    /* [in] */ IDLDESC __RPC_FAR *pIdlDesc) {
  return This->lpVtbl->SetTypeIdldesc(This,pIdlDesc);
}

HRESULT C_ICreateTypeInfo_LayOut (
		ICreateTypeInfo __RPC_FAR * This) {
  return This->lpVtbl->LayOut(This);
}

struct ICreateTypeInfoVtbl
ICreateTypeInfo_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ICreateTypeInfo_SetGuid, DW_ICreateTypeInfo_SetTypeFlags,
		DW_ICreateTypeInfo_SetDocString,
		DW_ICreateTypeInfo_SetHelpContext,
		DW_ICreateTypeInfo_SetVersion,
		DW_ICreateTypeInfo_AddRefTypeInfo,
		DW_ICreateTypeInfo_AddFuncDesc, DW_ICreateTypeInfo_AddImplType,
		DW_ICreateTypeInfo_SetImplTypeFlags,
		DW_ICreateTypeInfo_SetAlignment, DW_ICreateTypeInfo_SetSchema,
		DW_ICreateTypeInfo_AddVarDesc,
		DW_ICreateTypeInfo_SetFuncAndParamNames,
		DW_ICreateTypeInfo_SetVarName,
		DW_ICreateTypeInfo_SetTypeDescAlias,
		DW_ICreateTypeInfo_DefineFuncAsDllEntry,
		DW_ICreateTypeInfo_SetFuncDocString,
		DW_ICreateTypeInfo_SetVarDocString,
		DW_ICreateTypeInfo_SetFuncHelpContext,
		DW_ICreateTypeInfo_SetVarHelpContext,
		DW_ICreateTypeInfo_SetMops, DW_ICreateTypeInfo_SetTypeIdldesc,
		DW_ICreateTypeInfo_LayOut};


	/*  ICreateTypeInfo2  */

HRESULT C_ICreateTypeInfo2_DeleteFuncDesc ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index) {
  return This->lpVtbl->DeleteFuncDesc(This,index);
}

HRESULT C_ICreateTypeInfo2_DeleteFuncDescByMemId ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [in] */ INVOKEKIND invKind) {
  return This->lpVtbl->DeleteFuncDescByMemId(This,memid,invKind);
}

HRESULT C_ICreateTypeInfo2_DeleteVarDesc ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index) {
  return This->lpVtbl->DeleteVarDesc(This,index);
}

HRESULT C_ICreateTypeInfo2_DeleteVarDescByMemId ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid) {
  return This->lpVtbl->DeleteVarDescByMemId(This,memid);
}

HRESULT C_ICreateTypeInfo2_DeleteImplType ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index) {
  return This->lpVtbl->DeleteImplType(This,index);
}

HRESULT C_ICreateTypeInfo2_SetCustData ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ REFGUID guid,
	    /* [in] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->SetCustData(This,guid,pVarVal);
}

HRESULT C_ICreateTypeInfo2_SetFuncCustData ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ REFGUID guid,
	    /* [in] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->SetFuncCustData(This,index,guid,pVarVal);
}

HRESULT C_ICreateTypeInfo2_SetParamCustData ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT indexFunc,
	    /* [in] */ UINT indexParam,
	    /* [in] */ REFGUID guid,
	    /* [in] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->SetParamCustData(This,indexFunc,
		indexParam,guid,pVarVal);
}

HRESULT C_ICreateTypeInfo2_SetVarCustData ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ REFGUID guid,
	    /* [in] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->SetVarCustData(This,index,guid,pVarVal);
}

HRESULT C_ICreateTypeInfo2_SetImplTypeCustData ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ REFGUID guid,
	    /* [in] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->SetImplTypeCustData(This,index,guid,
		pVarVal);
}

HRESULT C_ICreateTypeInfo2_SetHelpStringContext ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ ULONG dwHelpStringContext) {
  return This->lpVtbl->SetHelpStringContext(This,
		dwHelpStringContext);
}

HRESULT C_ICreateTypeInfo2_SetFuncHelpStringContext ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ ULONG dwHelpStringContext) {
  return This->lpVtbl->SetFuncHelpStringContext(This,index,
		dwHelpStringContext);
}

HRESULT C_ICreateTypeInfo2_SetVarHelpStringContext ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ ULONG dwHelpStringContext) {
  return This->lpVtbl->SetVarHelpStringContext(This,index,
		dwHelpStringContext);
}

HRESULT C_ICreateTypeInfo2_Invalidate (
		ICreateTypeInfo2 __RPC_FAR * This) {
  return This->lpVtbl->Invalidate(This);
}

HRESULT C_ICreateTypeInfo2_SetName ( 
	    ICreateTypeInfo2 __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szName) {
  return This->lpVtbl->SetName(This,szName);
}

struct ICreateTypeInfo2Vtbl
ICreateTypeInfo2_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ICreateTypeInfo_SetGuid, DW_ICreateTypeInfo_SetTypeFlags,
		DW_ICreateTypeInfo_SetDocString,
		DW_ICreateTypeInfo_SetHelpContext,
		DW_ICreateTypeInfo_SetVersion,
		DW_ICreateTypeInfo_AddRefTypeInfo,
		DW_ICreateTypeInfo_AddFuncDesc, DW_ICreateTypeInfo_AddImplType,
		DW_ICreateTypeInfo_SetImplTypeFlags,
		DW_ICreateTypeInfo_SetAlignment, DW_ICreateTypeInfo_SetSchema,
		DW_ICreateTypeInfo_AddVarDesc,
		DW_ICreateTypeInfo_SetFuncAndParamNames,
		DW_ICreateTypeInfo_SetVarName,
		DW_ICreateTypeInfo_SetTypeDescAlias,
		DW_ICreateTypeInfo_DefineFuncAsDllEntry,
		DW_ICreateTypeInfo_SetFuncDocString,
		DW_ICreateTypeInfo_SetVarDocString,
		DW_ICreateTypeInfo_SetFuncHelpContext,
		DW_ICreateTypeInfo_SetVarHelpContext,
		DW_ICreateTypeInfo_SetMops, DW_ICreateTypeInfo_SetTypeIdldesc,
		DW_ICreateTypeInfo_LayOut, DW_ICreateTypeInfo2_DeleteFuncDesc,
		DW_ICreateTypeInfo2_DeleteFuncDescByMemId,
		DW_ICreateTypeInfo2_DeleteVarDesc,
		DW_ICreateTypeInfo2_DeleteVarDescByMemId,
		DW_ICreateTypeInfo2_DeleteImplType,
		DW_ICreateTypeInfo2_SetCustData,
		DW_ICreateTypeInfo2_SetFuncCustData,
		DW_ICreateTypeInfo2_SetParamCustData,
		DW_ICreateTypeInfo2_SetVarCustData,
		DW_ICreateTypeInfo2_SetImplTypeCustData,
		DW_ICreateTypeInfo2_SetHelpStringContext,
		DW_ICreateTypeInfo2_SetFuncHelpStringContext,
		DW_ICreateTypeInfo2_SetVarHelpStringContext,
		DW_ICreateTypeInfo2_Invalidate, DW_ICreateTypeInfo2_SetName};


	/*  ICreateTypeLib  */

HRESULT C_ICreateTypeLib_CreateTypeInfo ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szName,
	    /* [in] */ TYPEKIND tkind,
	    /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo) {
  return This->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo);
}

HRESULT C_ICreateTypeLib_SetName ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szName) {
  return This->lpVtbl->SetName(This,szName);
}

HRESULT C_ICreateTypeLib_SetVersion ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ WORD wMajorVerNum,
	    /* [in] */ WORD wMinorVerNum) {
  return This->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum);
}

HRESULT C_ICreateTypeLib_SetGuid ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ REFGUID guid) {
  return This->lpVtbl->SetGuid(This,guid);
}

HRESULT C_ICreateTypeLib_SetDocString ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szDoc) {
  return This->lpVtbl->SetDocString(This,szDoc);
}

HRESULT C_ICreateTypeLib_SetHelpFileName ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szHelpFileName) {
  return This->lpVtbl->SetHelpFileName(This,szHelpFileName);
}

HRESULT C_ICreateTypeLib_SetHelpContext ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ DWORD dwHelpContext) {
  return This->lpVtbl->SetHelpContext(This,dwHelpContext);
}

HRESULT C_ICreateTypeLib_SetLcid ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ LCID lcid) {
  return This->lpVtbl->SetLcid(This,lcid);
}

HRESULT C_ICreateTypeLib_SetLibFlags ( 
	    ICreateTypeLib __RPC_FAR * This, 
	    /* [in] */ UINT uLibFlags) {
  return This->lpVtbl->SetLibFlags(This,uLibFlags);
}

HRESULT C_ICreateTypeLib_SaveAllChanges (
		ICreateTypeLib __RPC_FAR * This) {
  return This->lpVtbl->SaveAllChanges(This);
}

struct ICreateTypeLibVtbl
ICreateTypeLib_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ICreateTypeLib_CreateTypeInfo, DW_ICreateTypeLib_SetName,
		DW_ICreateTypeLib_SetVersion, DW_ICreateTypeLib_SetGuid,
		DW_ICreateTypeLib_SetDocString,
		DW_ICreateTypeLib_SetHelpFileName,
		DW_ICreateTypeLib_SetHelpContext, DW_ICreateTypeLib_SetLcid,
		DW_ICreateTypeLib_SetLibFlags,
		DW_ICreateTypeLib_SaveAllChanges};


	/*  ICreateTypeLib2  */

HRESULT C_ICreateTypeLib2_DeleteTypeInfo ( 
	    ICreateTypeLib2 __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szName) {
  return This->lpVtbl->DeleteTypeInfo(This,szName);
}

HRESULT C_ICreateTypeLib2_SetCustData ( 
	    ICreateTypeLib2 __RPC_FAR * This, 
	    /* [in] */ REFGUID guid,
	    /* [in] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->SetCustData(This,guid,pVarVal);
}

HRESULT C_ICreateTypeLib2_SetHelpStringContext ( 
	    ICreateTypeLib2 __RPC_FAR * This, 
	    /* [in] */ ULONG dwHelpStringContext) {
  return This->lpVtbl->SetHelpStringContext(This,
		dwHelpStringContext);
}

HRESULT C_ICreateTypeLib2_SetHelpStringDll ( 
	    ICreateTypeLib2 __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szFileName) {
  return This->lpVtbl->SetHelpStringDll(This,szFileName);
}

struct ICreateTypeLib2Vtbl
ICreateTypeLib2_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ICreateTypeLib_CreateTypeInfo, DW_ICreateTypeLib_SetName,
		DW_ICreateTypeLib_SetVersion, DW_ICreateTypeLib_SetGuid,
		DW_ICreateTypeLib_SetDocString,
		DW_ICreateTypeLib_SetHelpFileName,
		DW_ICreateTypeLib_SetHelpContext, DW_ICreateTypeLib_SetLcid,
		DW_ICreateTypeLib_SetLibFlags,
		DW_ICreateTypeLib_SaveAllChanges,
		DW_ICreateTypeLib2_DeleteTypeInfo,
		DW_ICreateTypeLib2_SetCustData,
		DW_ICreateTypeLib2_SetHelpStringContext,
		DW_ICreateTypeLib2_SetHelpStringDll};


	/*  IDispatch  */

HRESULT C_IDispatch_GetTypeInfoCount ( 
	    IDispatch __RPC_FAR * This, 
	    /* [out] */ UINT __RPC_FAR *pctinfo) {
  return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}

HRESULT C_IDispatch_GetTypeInfo ( 
	    IDispatch __RPC_FAR * This, 
	    /* [in] */ UINT iTInfo,
	    /* [in] */ LCID lcid,
	    /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) {
  return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}

HRESULT C_IDispatch_GetIDsOfNames ( 
	    IDispatch __RPC_FAR * This, 
	    /* [in] */ REFIID riid,
	    /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
	    /* [in] */ UINT cNames,
	    /* [in] */ LCID lcid,
	    /* [size_is][out] */ DISPID __RPC_FAR *rgDispId) {
  return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,
		lcid,rgDispId);
}

HRESULT C_IDispatch_Invoke ( 
	    IDispatch __RPC_FAR * This, 
	    /* [in] */ DISPID dispIdMember,
	    /* [in] */ REFIID riid,
	    /* [in] */ LCID lcid,
	    /* [in] */ WORD wFlags,
	    /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
	    /* [out] */ VARIANT __RPC_FAR *pVarResult,
	    /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
	    /* [out] */ UINT __RPC_FAR *puArgErr) {
  return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,
		pDispParams,pVarResult,pExcepInfo,puArgErr);
}

struct IDispatchVtbl
IDispatch_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IDispatch_GetTypeInfoCount, DW_IDispatch_GetTypeInfo,
		DW_IDispatch_GetIDsOfNames, DW_IDispatch_Invoke};


	/*  IEnumVARIANT  */

HRESULT C_IEnumVARIANT_Next ( 
	    IEnumVARIANT __RPC_FAR * This, 
	    /* [in] */ ULONG celt,
	    /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
	    /* [out] */ ULONG __RPC_FAR *pCeltFetched) {
  return This->lpVtbl->Next(This,celt,rgVar,pCeltFetched);
}

HRESULT C_IEnumVARIANT_Skip ( 
	    IEnumVARIANT __RPC_FAR * This, 
	    /* [in] */ ULONG celt) {
  return This->lpVtbl->Skip(This,celt);
}

HRESULT C_IEnumVARIANT_Reset (
		IEnumVARIANT __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumVARIANT_Clone ( 
	    IEnumVARIANT __RPC_FAR * This, 
	    /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppEnum) {
  return This->lpVtbl->Clone(This,ppEnum);
}

struct IEnumVARIANTVtbl
IEnumVARIANT_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_IEnumVARIANT_Next,
		DW_IEnumVARIANT_Skip, DW_IEnumVARIANT_Reset,
		DW_IEnumVARIANT_Clone};


	/*  ITypeComp  */

HRESULT C_ITypeComp_Bind ( 
	    ITypeComp __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szName,
	    /* [in] */ ULONG lHashVal,
	    /* [in] */ WORD wFlags,
	    /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
	    /* [out] */ DESCKIND __RPC_FAR *pDescKind,
	    /* [out] */ BINDPTR __RPC_FAR *pBindPtr) {
  return This->lpVtbl->Bind(This,szName,lHashVal,wFlags,ppTInfo,
		pDescKind,pBindPtr);
}

HRESULT C_ITypeComp_BindType ( 
	    ITypeComp __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szName,
	    /* [in] */ ULONG lHashVal,
	    /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
	    /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) {
  return This->lpVtbl->BindType(This,szName,lHashVal,ppTInfo,
		ppTComp);
}

struct ITypeCompVtbl
ITypeComp_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_ITypeComp_Bind,
		DW_ITypeComp_BindType};


	/*  ITypeInfo  */

HRESULT C_ITypeInfo_GetTypeAttr ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr) {
  return This->lpVtbl->GetTypeAttr(This,ppTypeAttr);
}

HRESULT C_ITypeInfo_GetTypeComp ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) {
  return This->lpVtbl->GetTypeComp(This,ppTComp);
}

HRESULT C_ITypeInfo_GetFuncDesc ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc) {
  return This->lpVtbl->GetFuncDesc(This,index,ppFuncDesc);
}

HRESULT C_ITypeInfo_GetVarDesc ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc) {
  return This->lpVtbl->GetVarDesc(This,index,ppVarDesc);
}

HRESULT C_ITypeInfo_GetNames ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
	    /* [in] */ UINT cMaxNames,
	    /* [out] */ UINT __RPC_FAR *pcNames) {
  return This->lpVtbl->GetNames(This,memid,rgBstrNames,cMaxNames,
		pcNames);
}

HRESULT C_ITypeInfo_GetRefTypeOfImplType ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ HREFTYPE __RPC_FAR *pRefType) {
  return This->lpVtbl->GetRefTypeOfImplType(This,index,pRefType);
}

HRESULT C_ITypeInfo_GetImplTypeFlags ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ INT __RPC_FAR *pImplTypeFlags) {
  return This->lpVtbl->GetImplTypeFlags(This,index,pImplTypeFlags);
}

HRESULT C_ITypeInfo_GetIDsOfNames ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
	    /* [in] */ UINT cNames,
	    /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId) {
  return This->lpVtbl->GetIDsOfNames(This,rgszNames,cNames,pMemId);
}

HRESULT C_ITypeInfo_Invoke ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ PVOID pvInstance,
	    /* [in] */ MEMBERID memid,
	    /* [in] */ WORD wFlags,
	    /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
	    /* [out] */ VARIANT __RPC_FAR *pVarResult,
	    /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
	    /* [out] */ UINT __RPC_FAR *puArgErr) {
  return This->lpVtbl->Invoke(This,pvInstance,memid,wFlags,
		pDispParams,pVarResult,pExcepInfo,puArgErr);
}

HRESULT C_ITypeInfo_GetDocumentation ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [out] */ BSTR __RPC_FAR *pBstrName,
	    /* [out] */ BSTR __RPC_FAR *pBstrDocString,
	    /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
	    /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) {
  return This->lpVtbl->GetDocumentation(This,memid,pBstrName,
		pBstrDocString,pdwHelpContext,pBstrHelpFile);
}

HRESULT C_ITypeInfo_GetDllEntry ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [in] */ INVOKEKIND invKind,
	    /* [out] */ BSTR __RPC_FAR *pBstrDllName,
	    /* [out] */ BSTR __RPC_FAR *pBstrName,
	    /* [out] */ WORD __RPC_FAR *pwOrdinal) {
  return This->lpVtbl->GetDllEntry(This,memid,invKind,
		pBstrDllName,pBstrName,pwOrdinal);
}

HRESULT C_ITypeInfo_GetRefTypeInfo ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ HREFTYPE hRefType,
	    /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) {
  return This->lpVtbl->GetRefTypeInfo(This,hRefType,ppTInfo);
}

HRESULT C_ITypeInfo_AddressOfMember ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [in] */ INVOKEKIND invKind,
	    /* [out] */ PVOID __RPC_FAR *ppv) {
  return This->lpVtbl->AddressOfMember(This,memid,invKind,ppv);
}

HRESULT C_ITypeInfo_CreateInstance ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
	    /* [in] */ REFIID riid,
	    /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj) {
  return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObj);
}

HRESULT C_ITypeInfo_GetMops ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [out] */ BSTR __RPC_FAR *pBstrMops) {
  return This->lpVtbl->GetMops(This,memid,pBstrMops);
}

HRESULT C_ITypeInfo_GetContainingTypeLib ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
	    /* [out] */ UINT __RPC_FAR *pIndex) {
  return This->lpVtbl->GetContainingTypeLib(This,ppTLib,pIndex);
}

void C_ITypeInfo_ReleaseTypeAttr ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr) {
  This->lpVtbl->ReleaseTypeAttr(This,pTypeAttr);
}

void C_ITypeInfo_ReleaseFuncDesc ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc) {
  This->lpVtbl->ReleaseFuncDesc(This,pFuncDesc);
}

void C_ITypeInfo_ReleaseVarDesc ( 
	    ITypeInfo __RPC_FAR * This, 
	    /* [in] */ VARDESC __RPC_FAR *pVarDesc) {
  This->lpVtbl->ReleaseVarDesc(This,pVarDesc);
}

struct ITypeInfoVtbl
ITypeInfo_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ITypeInfo_GetTypeAttr, DW_ITypeInfo_GetTypeComp,
		DW_ITypeInfo_GetFuncDesc, DW_ITypeInfo_GetVarDesc,
		DW_ITypeInfo_GetNames, DW_ITypeInfo_GetRefTypeOfImplType,
		DW_ITypeInfo_GetImplTypeFlags, DW_ITypeInfo_GetIDsOfNames,
		DW_ITypeInfo_Invoke, DW_ITypeInfo_GetDocumentation,
		DW_ITypeInfo_GetDllEntry, DW_ITypeInfo_GetRefTypeInfo,
		DW_ITypeInfo_AddressOfMember, DW_ITypeInfo_CreateInstance,
		DW_ITypeInfo_GetMops, DW_ITypeInfo_GetContainingTypeLib,
		DW_ITypeInfo_ReleaseTypeAttr, DW_ITypeInfo_ReleaseFuncDesc,
		DW_ITypeInfo_ReleaseVarDesc};


	/*  ITypeInfo2  */

HRESULT C_ITypeInfo2_GetTypeKind ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [out] */ TYPEKIND __RPC_FAR *pTypeKind) {
  return This->lpVtbl->GetTypeKind(This,pTypeKind);
}

HRESULT C_ITypeInfo2_GetTypeFlags ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [out] */ ULONG __RPC_FAR *pTypeFlags) {
  return This->lpVtbl->GetTypeFlags(This,pTypeFlags);
}

HRESULT C_ITypeInfo2_GetFuncIndexOfMemId ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [in] */ INVOKEKIND invKind,
	    /* [out] */ UINT __RPC_FAR *pFuncIndex) {
  return This->lpVtbl->GetFuncIndexOfMemId(This,memid,invKind,
		pFuncIndex);
}

HRESULT C_ITypeInfo2_GetVarIndexOfMemId ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [out] */ UINT __RPC_FAR *pVarIndex) {
  return This->lpVtbl->GetVarIndexOfMemId(This,memid,pVarIndex);
}

HRESULT C_ITypeInfo2_GetCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ REFGUID guid,
	    /* [out] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->GetCustData(This,guid,pVarVal);
}

HRESULT C_ITypeInfo2_GetFuncCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ REFGUID guid,
	    /* [out] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->GetFuncCustData(This,index,guid,pVarVal);
}

HRESULT C_ITypeInfo2_GetParamCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT indexFunc,
	    /* [in] */ UINT indexParam,
	    /* [in] */ REFGUID guid,
	    /* [out] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->GetParamCustData(This,indexFunc,
		indexParam,guid,pVarVal);
}

HRESULT C_ITypeInfo2_GetVarCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ REFGUID guid,
	    /* [out] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->GetVarCustData(This,index,guid,pVarVal);
}

HRESULT C_ITypeInfo2_GetImplTypeCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [in] */ REFGUID guid,
	    /* [out] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->GetImplTypeCustData(This,index,guid,
		pVarVal);
}

HRESULT C_ITypeInfo2_GetDocumentation2 ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ MEMBERID memid,
	    /* [in] */ LCID lcid,
	    /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
	    /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
	    /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll) {
  return This->lpVtbl->GetDocumentation2(This,memid,lcid,
		pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll);
}

HRESULT C_ITypeInfo2_GetAllCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [out] */ CUSTDATA __RPC_FAR *pCustData) {
  return This->lpVtbl->GetAllCustData(This,pCustData);
}

HRESULT C_ITypeInfo2_GetAllFuncCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ CUSTDATA __RPC_FAR *pCustData) {
  return This->lpVtbl->GetAllFuncCustData(This,index,pCustData);
}

HRESULT C_ITypeInfo2_GetAllParamCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT indexFunc,
	    /* [in] */ UINT indexParam,
	    /* [out] */ CUSTDATA __RPC_FAR *pCustData) {
  return This->lpVtbl->GetAllParamCustData(This,indexFunc,
		indexParam,pCustData);
}

HRESULT C_ITypeInfo2_GetAllVarCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ CUSTDATA __RPC_FAR *pCustData) {
  return This->lpVtbl->GetAllVarCustData(This,index,pCustData);
}

HRESULT C_ITypeInfo2_GetAllImplTypeCustData ( 
	    ITypeInfo2 __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ CUSTDATA __RPC_FAR *pCustData) {
  return This->lpVtbl->GetAllImplTypeCustData(This,index,
		pCustData);
}

struct ITypeInfo2Vtbl
ITypeInfo2_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ITypeInfo_GetTypeAttr, DW_ITypeInfo_GetTypeComp,
		DW_ITypeInfo_GetFuncDesc, DW_ITypeInfo_GetVarDesc,
		DW_ITypeInfo_GetNames, DW_ITypeInfo_GetRefTypeOfImplType,
		DW_ITypeInfo_GetImplTypeFlags, DW_ITypeInfo_GetIDsOfNames,
		DW_ITypeInfo_Invoke, DW_ITypeInfo_GetDocumentation,
		DW_ITypeInfo_GetDllEntry, DW_ITypeInfo_GetRefTypeInfo,
		DW_ITypeInfo_AddressOfMember, DW_ITypeInfo_CreateInstance,
		DW_ITypeInfo_GetMops, DW_ITypeInfo_GetContainingTypeLib,
		DW_ITypeInfo_ReleaseTypeAttr, DW_ITypeInfo_ReleaseFuncDesc,
		DW_ITypeInfo_ReleaseVarDesc, DW_ITypeInfo2_GetTypeKind,
		DW_ITypeInfo2_GetTypeFlags, DW_ITypeInfo2_GetFuncIndexOfMemId,
		DW_ITypeInfo2_GetVarIndexOfMemId, DW_ITypeInfo2_GetCustData,
		DW_ITypeInfo2_GetFuncCustData, DW_ITypeInfo2_GetParamCustData,
		DW_ITypeInfo2_GetVarCustData,
		DW_ITypeInfo2_GetImplTypeCustData,
		DW_ITypeInfo2_GetDocumentation2, DW_ITypeInfo2_GetAllCustData,
		DW_ITypeInfo2_GetAllFuncCustData,
		DW_ITypeInfo2_GetAllParamCustData,
		DW_ITypeInfo2_GetAllVarCustData,
		DW_ITypeInfo2_GetAllImplTypeCustData};


	/*  ITypeLib  */

UINT C_ITypeLib_GetTypeInfoCount (
		ITypeLib __RPC_FAR * This) {
  return This->lpVtbl->GetTypeInfoCount(This);
}

HRESULT C_ITypeLib_GetTypeInfo ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) {
  return This->lpVtbl->GetTypeInfo(This,index,ppTInfo);
}

HRESULT C_ITypeLib_GetTypeInfoType ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [in] */ UINT index,
	    /* [out] */ TYPEKIND __RPC_FAR *pTKind) {
  return This->lpVtbl->GetTypeInfoType(This,index,pTKind);
}

HRESULT C_ITypeLib_GetTypeInfoOfGuid ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [in] */ REFGUID guid,
	    /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo) {
  return This->lpVtbl->GetTypeInfoOfGuid(This,guid,ppTinfo);
}

HRESULT C_ITypeLib_GetLibAttr ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr) {
  return This->lpVtbl->GetLibAttr(This,ppTLibAttr);
}

HRESULT C_ITypeLib_GetTypeComp ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) {
  return This->lpVtbl->GetTypeComp(This,ppTComp);
}

HRESULT C_ITypeLib_GetDocumentation ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [in] */ INT index,
	    /* [out] */ BSTR __RPC_FAR *pBstrName,
	    /* [out] */ BSTR __RPC_FAR *pBstrDocString,
	    /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
	    /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) {
  return This->lpVtbl->GetDocumentation(This,index,pBstrName,
		pBstrDocString,pdwHelpContext,pBstrHelpFile);
}

HRESULT C_ITypeLib_IsName ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [out][in] */ LPOLESTR szNameBuf,
	    /* [in] */ ULONG lHashVal,
	    /* [out] */ BOOL __RPC_FAR *pfName) {
  return This->lpVtbl->IsName(This,szNameBuf,lHashVal,pfName);
}

HRESULT C_ITypeLib_FindName ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [out][in] */ LPOLESTR szNameBuf,
	    /* [in] */ ULONG lHashVal,
	    /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
	    /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
	    /* [out][in] */ USHORT __RPC_FAR *pcFound) {
  return This->lpVtbl->FindName(This,szNameBuf,lHashVal,ppTInfo,
		rgMemId,pcFound);
}

void C_ITypeLib_ReleaseTLibAttr ( 
	    ITypeLib __RPC_FAR * This, 
	    /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr) {
  This->lpVtbl->ReleaseTLibAttr(This,pTLibAttr);
}

struct ITypeLibVtbl
ITypeLib_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ITypeLib_GetTypeInfoCount, DW_ITypeLib_GetTypeInfo,
		DW_ITypeLib_GetTypeInfoType, DW_ITypeLib_GetTypeInfoOfGuid,
		DW_ITypeLib_GetLibAttr, DW_ITypeLib_GetTypeComp,
		DW_ITypeLib_GetDocumentation, DW_ITypeLib_IsName,
		DW_ITypeLib_FindName, DW_ITypeLib_ReleaseTLibAttr};


	/*  ITypeLib2  */

HRESULT C_ITypeLib2_GetCustData ( 
	    ITypeLib2 __RPC_FAR * This, 
	    /* [in] */ REFGUID guid,
	    /* [out] */ VARIANT __RPC_FAR *pVarVal) {
  return This->lpVtbl->GetCustData(This,guid,pVarVal);
}

HRESULT C_ITypeLib2_GetLibStatistics ( 
	    ITypeLib2 __RPC_FAR * This, 
	    /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
	    /* [out] */ ULONG __RPC_FAR *pcchUniqueNames) {
  return This->lpVtbl->GetLibStatistics(This,pcUniqueNames,
		pcchUniqueNames);
}

HRESULT C_ITypeLib2_GetDocumentation2 ( 
	    ITypeLib2 __RPC_FAR * This, 
	    /* [in] */ INT index,
	    /* [in] */ LCID lcid,
	    /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
	    /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
	    /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll) {
  return This->lpVtbl->GetDocumentation2(This,index,lcid,
		pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll);
}

HRESULT C_ITypeLib2_GetAllCustData ( 
	    ITypeLib2 __RPC_FAR * This, 
	    /* [out] */ CUSTDATA __RPC_FAR *pCustData) {
  return This->lpVtbl->GetAllCustData(This,pCustData);
}

struct ITypeLib2Vtbl
ITypeLib2_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ITypeLib_GetTypeInfoCount, DW_ITypeLib_GetTypeInfo,
		DW_ITypeLib_GetTypeInfoType, DW_ITypeLib_GetTypeInfoOfGuid,
		DW_ITypeLib_GetLibAttr, DW_ITypeLib_GetTypeComp,
		DW_ITypeLib_GetDocumentation, DW_ITypeLib_IsName,
		DW_ITypeLib_FindName, DW_ITypeLib_ReleaseTLibAttr,
		DW_ITypeLib2_GetCustData, DW_ITypeLib2_GetLibStatistics,
		DW_ITypeLib2_GetDocumentation2, DW_ITypeLib2_GetAllCustData};


	/*  IErrorInfo  */

HRESULT C_IErrorInfo_GetGUID ( 
	    IErrorInfo __RPC_FAR * This, 
	    /* [out] */ GUID __RPC_FAR *pGUID) {
  return This->lpVtbl->GetGUID(This,pGUID);
}

HRESULT C_IErrorInfo_GetSource ( 
	    IErrorInfo __RPC_FAR * This, 
	    /* [out] */ BSTR __RPC_FAR *pBstrSource) {
  return This->lpVtbl->GetSource(This,pBstrSource);
}

HRESULT C_IErrorInfo_GetDescription ( 
	    IErrorInfo __RPC_FAR * This, 
	    /* [out] */ BSTR __RPC_FAR *pBstrDescription) {
  return This->lpVtbl->GetDescription(This,pBstrDescription);
}

HRESULT C_IErrorInfo_GetHelpFile ( 
	    IErrorInfo __RPC_FAR * This, 
	    /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) {
  return This->lpVtbl->GetHelpFile(This,pBstrHelpFile);
}

HRESULT C_IErrorInfo_GetHelpContext ( 
	    IErrorInfo __RPC_FAR * This, 
	    /* [out] */ DWORD __RPC_FAR *pdwHelpContext) {
  return This->lpVtbl->GetHelpContext(This,pdwHelpContext);
}

struct IErrorInfoVtbl
IErrorInfo_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_IErrorInfo_GetGUID,
		DW_IErrorInfo_GetSource, DW_IErrorInfo_GetDescription,
		DW_IErrorInfo_GetHelpFile, DW_IErrorInfo_GetHelpContext};


	/*  ICreateErrorInfo  */

HRESULT C_ICreateErrorInfo_SetGUID ( 
	    ICreateErrorInfo __RPC_FAR * This, 
	    /* [in] */ REFGUID rguid) {
  return This->lpVtbl->SetGUID(This,rguid);
}

HRESULT C_ICreateErrorInfo_SetSource ( 
	    ICreateErrorInfo __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szSource) {
  return This->lpVtbl->SetSource(This,szSource);
}

HRESULT C_ICreateErrorInfo_SetDescription ( 
	    ICreateErrorInfo __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szDescription) {
  return This->lpVtbl->SetDescription(This,szDescription);
}

HRESULT C_ICreateErrorInfo_SetHelpFile ( 
	    ICreateErrorInfo __RPC_FAR * This, 
	    /* [in] */ LPOLESTR szHelpFile) {
  return This->lpVtbl->SetHelpFile(This,szHelpFile);
}

HRESULT C_ICreateErrorInfo_SetHelpContext ( 
	    ICreateErrorInfo __RPC_FAR * This, 
	    /* [in] */ DWORD dwHelpContext) {
  return This->lpVtbl->SetHelpContext(This,dwHelpContext);
}

struct ICreateErrorInfoVtbl
ICreateErrorInfo_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ICreateErrorInfo_SetGUID, DW_ICreateErrorInfo_SetSource,
		DW_ICreateErrorInfo_SetDescription,
		DW_ICreateErrorInfo_SetHelpFile,
		DW_ICreateErrorInfo_SetHelpContext};


	/*  ISupportErrorInfo  */

HRESULT C_ISupportErrorInfo_InterfaceSupportsErrorInfo ( 
	    ISupportErrorInfo __RPC_FAR * This, 
	    /* [in] */ REFIID riid) {
  return This->lpVtbl->InterfaceSupportsErrorInfo(This,riid);
}

struct ISupportErrorInfoVtbl
ISupportErrorInfo_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ISupportErrorInfo_InterfaceSupportsErrorInfo};


	/*  ITypeFactory  */

HRESULT C_ITypeFactory_CreateFromTypeInfo ( 
	    ITypeFactory __RPC_FAR * This, 
	    /* [in] */ ITypeInfo __RPC_FAR *pTypeInfo,
	    /* [in] */ REFIID riid,
	    /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppv) {
  return This->lpVtbl->CreateFromTypeInfo(This,pTypeInfo,riid,ppv);
}

struct ITypeFactoryVtbl
ITypeFactory_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ITypeFactory_CreateFromTypeInfo};


	/*  ITypeMarshal  */

HRESULT C_ITypeMarshal_Size ( 
	    ITypeMarshal __RPC_FAR * This, 
	    /* [in] */ PVOID pvType,
	    /* [in] */ DWORD dwDestContext,
	    /* [in] */ PVOID pvDestContext,
	    /* [out] */ ULONG __RPC_FAR *pSize) {
  return This->lpVtbl->Size(This,pvType,dwDestContext,
		pvDestContext,pSize);
}

HRESULT C_ITypeMarshal_Marshal ( 
	    ITypeMarshal __RPC_FAR * This, 
	    /* [in] */ PVOID pvType,
	    /* [in] */ DWORD dwDestContext,
	    /* [in] */ PVOID pvDestContext,
	    /* [in] */ ULONG cbBufferLength,
	    /* [out] */ BYTE __RPC_FAR *pBuffer,
	    /* [out] */ ULONG __RPC_FAR *pcbWritten) {
  return This->lpVtbl->Marshal(This,pvType,dwDestContext,
		pvDestContext,cbBufferLength,pBuffer,pcbWritten);
}

HRESULT C_ITypeMarshal_Unmarshal ( 
	    ITypeMarshal __RPC_FAR * This, 
	    /* [out] */ PVOID pvType,
	    /* [in] */ DWORD dwFlags,
	    /* [in] */ ULONG cbBufferLength,
	    /* [in] */ BYTE __RPC_FAR *pBuffer,
	    /* [out] */ ULONG __RPC_FAR *pcbRead) {
  return This->lpVtbl->Unmarshal(This,pvType,dwFlags,
		cbBufferLength,pBuffer,pcbRead);
}

HRESULT C_ITypeMarshal_Free ( 
	    ITypeMarshal __RPC_FAR * This, 
	    /* [in] */ PVOID pvType) {
  return This->lpVtbl->Free(This,pvType);
}

struct ITypeMarshalVtbl
ITypeMarshal_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_ITypeMarshal_Size,
		DW_ITypeMarshal_Marshal, DW_ITypeMarshal_Unmarshal,
		DW_ITypeMarshal_Free};


	/*  IRecordInfo  */

HRESULT C_IRecordInfo_RecordInit ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [out] */ PVOID pvNew) {
  return This->lpVtbl->RecordInit(This,pvNew);
}

HRESULT C_IRecordInfo_RecordClear ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ PVOID pvExisting) {
  return This->lpVtbl->RecordClear(This,pvExisting);
}

HRESULT C_IRecordInfo_RecordCopy ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ PVOID pvExisting,
	    /* [out] */ PVOID pvNew) {
  return This->lpVtbl->RecordCopy(This,pvExisting,pvNew);
}

HRESULT C_IRecordInfo_GetGuid ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [out] */ GUID __RPC_FAR *pguid) {
  return This->lpVtbl->GetGuid(This,pguid);
}

HRESULT C_IRecordInfo_GetName ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [out] */ BSTR __RPC_FAR *pbstrName) {
  return This->lpVtbl->GetName(This,pbstrName);
}

HRESULT C_IRecordInfo_GetSize ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [out] */ ULONG __RPC_FAR *pcbSize) {
  return This->lpVtbl->GetSize(This,pcbSize);
}

HRESULT C_IRecordInfo_GetTypeInfo ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTypeInfo) {
  return This->lpVtbl->GetTypeInfo(This,ppTypeInfo);
}

HRESULT C_IRecordInfo_GetField ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ PVOID pvData,
	    /* [in] */ LPCOLESTR szFieldName,
	    /* [out] */ VARIANT __RPC_FAR *pvarField) {
  return This->lpVtbl->GetField(This,pvData,szFieldName,pvarField);
}

HRESULT C_IRecordInfo_GetFieldNoCopy ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ PVOID pvData,
	    /* [in] */ LPCOLESTR szFieldName,
	    /* [out] */ VARIANT __RPC_FAR *pvarField,
	    /* [out] */ PVOID __RPC_FAR *ppvDataCArray) {
  return This->lpVtbl->GetFieldNoCopy(This,pvData,szFieldName,
		pvarField,ppvDataCArray);
}

HRESULT C_IRecordInfo_PutField ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ ULONG wFlags,
	    /* [out][in] */ PVOID pvData,
	    /* [in] */ LPCOLESTR szFieldName,
	    /* [in] */ VARIANT __RPC_FAR *pvarField) {
  return This->lpVtbl->PutField(This,wFlags,pvData,szFieldName,
		pvarField);
}

HRESULT C_IRecordInfo_PutFieldNoCopy ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ ULONG wFlags,
	    /* [out][in] */ PVOID pvData,
	    /* [in] */ LPCOLESTR szFieldName,
	    /* [in] */ VARIANT __RPC_FAR *pvarField) {
  return This->lpVtbl->PutFieldNoCopy(This,wFlags,pvData,
		szFieldName,pvarField);
}

HRESULT C_IRecordInfo_GetFieldNames ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [out][in] */ ULONG __RPC_FAR *pcNames,
	    /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames) {
  return This->lpVtbl->GetFieldNames(This,pcNames,rgBstrNames);
}

BOOL C_IRecordInfo_IsMatchingType ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ IRecordInfo __RPC_FAR *pRecordInfo) {
  return This->lpVtbl->IsMatchingType(This,pRecordInfo);
}

PVOID C_IRecordInfo_RecordCreate (
		IRecordInfo __RPC_FAR * This) {
  return This->lpVtbl->RecordCreate(This);
}

HRESULT C_IRecordInfo_RecordCreateCopy ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ PVOID pvSource,
	    /* [out] */ PVOID __RPC_FAR *ppvDest) {
  return This->lpVtbl->RecordCreateCopy(This,pvSource,ppvDest);
}

HRESULT C_IRecordInfo_RecordDestroy ( 
	    IRecordInfo __RPC_FAR * This, 
	    /* [in] */ PVOID pvRecord) {
  return This->lpVtbl->RecordDestroy(This,pvRecord);
}

struct IRecordInfoVtbl
IRecordInfo_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IRecordInfo_RecordInit, DW_IRecordInfo_RecordClear,
		DW_IRecordInfo_RecordCopy, DW_IRecordInfo_GetGuid,
		DW_IRecordInfo_GetName, DW_IRecordInfo_GetSize,
		DW_IRecordInfo_GetTypeInfo, DW_IRecordInfo_GetField,
		DW_IRecordInfo_GetFieldNoCopy, DW_IRecordInfo_PutField,
		DW_IRecordInfo_PutFieldNoCopy, DW_IRecordInfo_GetFieldNames,
		DW_IRecordInfo_IsMatchingType, DW_IRecordInfo_RecordCreate,
		DW_IRecordInfo_RecordCreateCopy, DW_IRecordInfo_RecordDestroy};

