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

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

#include <Unknwn.h>

#include "c-com.h"

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


	/*  IUnknown  */

HRESULT C_IUnknown_QueryInterface ( 
            IUnknown __RPC_FAR * This, 
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject) {
  return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}

ULONG C_IUnknown_AddRef (
		IUnknown __RPC_FAR * This) {
  return This->lpVtbl->AddRef(This);
}

ULONG C_IUnknown_Release (
		IUnknown __RPC_FAR * This) {
  return This->lpVtbl->Release(This);
}

struct IUnknownVtbl
IUnknown_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release};


	/*  IClassFactory  */

HRESULT C_IClassFactory_CreateInstance ( 
            IClassFactory __RPC_FAR * This, 
            /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject) {
  return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,
		ppvObject);
}

HRESULT C_IClassFactory_LockServer ( 
            IClassFactory __RPC_FAR * This, 
            /* [in] */ BOOL fLock) {
  return This->lpVtbl->LockServer(This,fLock);
}

struct IClassFactoryVtbl
IClassFactory_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IClassFactory_CreateInstance, DW_IClassFactory_LockServer};


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

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

#include <ObjIdl.h>

// #include "c-com.h"

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


	/*  IMarshal  */

HRESULT C_IMarshal_GetUnmarshalClass ( 
            IMarshal __RPC_FAR * This, 
            /* [in] */ REFIID riid,
            /* [unique][in] */ void __RPC_FAR *pv,
            /* [in] */ DWORD dwDestContext,
            /* [unique][in] */ void __RPC_FAR *pvDestContext,
            /* [in] */ DWORD mshlflags,
            /* [out] */ CLSID __RPC_FAR *pCid) {
  return This->lpVtbl->GetUnmarshalClass(This,riid,pv,
		dwDestContext,pvDestContext,mshlflags,pCid);
}

HRESULT C_IMarshal_GetMarshalSizeMax ( 
            IMarshal __RPC_FAR * This, 
            /* [in] */ REFIID riid,
            /* [unique][in] */ void __RPC_FAR *pv,
            /* [in] */ DWORD dwDestContext,
            /* [unique][in] */ void __RPC_FAR *pvDestContext,
            /* [in] */ DWORD mshlflags,
            /* [out] */ DWORD __RPC_FAR *pSize) {
  return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,
		dwDestContext,pvDestContext,mshlflags,pSize);
}

HRESULT C_IMarshal_MarshalInterface ( 
            IMarshal __RPC_FAR * This, 
            /* [unique][in] */ IStream __RPC_FAR *pStm,
            /* [in] */ REFIID riid,
            /* [unique][in] */ void __RPC_FAR *pv,
            /* [in] */ DWORD dwDestContext,
            /* [unique][in] */ void __RPC_FAR *pvDestContext,
            /* [in] */ DWORD mshlflags) {
  return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,
		dwDestContext,pvDestContext,mshlflags);
}

HRESULT C_IMarshal_UnmarshalInterface ( 
            IMarshal __RPC_FAR * This, 
            /* [unique][in] */ IStream __RPC_FAR *pStm,
            /* [in] */ REFIID riid,
            /* [out] */ void __RPC_FAR *__RPC_FAR *ppv) {
  return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv);
}

HRESULT C_IMarshal_ReleaseMarshalData ( 
            IMarshal __RPC_FAR * This, 
            /* [unique][in] */ IStream __RPC_FAR *pStm) {
  return This->lpVtbl->ReleaseMarshalData(This,pStm);
}

HRESULT C_IMarshal_DisconnectObject ( 
            IMarshal __RPC_FAR * This, 
            /* [in] */ DWORD dwReserved) {
  return This->lpVtbl->DisconnectObject(This,dwReserved);
}

struct IMarshalVtbl
IMarshal_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IMarshal_GetUnmarshalClass, DW_IMarshal_GetMarshalSizeMax,
		DW_IMarshal_MarshalInterface, DW_IMarshal_UnmarshalInterface,
		DW_IMarshal_ReleaseMarshalData, DW_IMarshal_DisconnectObject};


	/*  IMalloc  */

void __RPC_FAR * C_IMalloc_Alloc ( 
            IMalloc __RPC_FAR * This, 
            /* [in] */ ULONG cb) {
  return This->lpVtbl->Alloc(This,cb);
}

void __RPC_FAR * C_IMalloc_Realloc ( 
            IMalloc __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pv,
            /* [in] */ ULONG cb) {
  return This->lpVtbl->Realloc(This,pv,cb);
}

void C_IMalloc_Free ( 
            IMalloc __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pv) {
  This->lpVtbl->Free(This,pv);
}

ULONG C_IMalloc_GetSize ( 
            IMalloc __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pv) {
  return This->lpVtbl->GetSize(This,pv);
}

int C_IMalloc_DidAlloc ( 
            IMalloc __RPC_FAR * This, 
            void __RPC_FAR *pv) {
  return This->lpVtbl->DidAlloc(This,pv);
}

void C_IMalloc_HeapMinimize (
		IMalloc __RPC_FAR * This) {
  This->lpVtbl->HeapMinimize(This);
}

struct IMallocVtbl
IMalloc_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_IMalloc_Alloc,
		DW_IMalloc_Realloc, DW_IMalloc_Free, DW_IMalloc_GetSize,
		DW_IMalloc_DidAlloc, DW_IMalloc_HeapMinimize};


	/*  IMallocSpy  */

ULONG C_IMallocSpy_PreAlloc ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ ULONG cbRequest) {
  return This->lpVtbl->PreAlloc(This,cbRequest);
}

void __RPC_FAR * C_IMallocSpy_PostAlloc ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pActual) {
  return This->lpVtbl->PostAlloc(This,pActual);
}

void __RPC_FAR * C_IMallocSpy_PreFree ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pRequest,
            /* [in] */ BOOL fSpyed) {
  return This->lpVtbl->PreFree(This,pRequest,fSpyed);
}

void C_IMallocSpy_PostFree ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ BOOL fSpyed) {
  This->lpVtbl->PostFree(This,fSpyed);
}

ULONG C_IMallocSpy_PreRealloc ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pRequest,
            /* [in] */ ULONG cbRequest,
            /* [out] */ void __RPC_FAR *__RPC_FAR *ppNewRequest,
            /* [in] */ BOOL fSpyed) {
  return This->lpVtbl->PreRealloc(This,pRequest,cbRequest,
		ppNewRequest,fSpyed);
}

void __RPC_FAR * C_IMallocSpy_PostRealloc ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pActual,
            /* [in] */ BOOL fSpyed) {
  return This->lpVtbl->PostRealloc(This,pActual,fSpyed);
}

void __RPC_FAR * C_IMallocSpy_PreGetSize ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pRequest,
            /* [in] */ BOOL fSpyed) {
  return This->lpVtbl->PreGetSize(This,pRequest,fSpyed);
}

ULONG C_IMallocSpy_PostGetSize ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ ULONG cbActual,
            /* [in] */ BOOL fSpyed) {
  return This->lpVtbl->PostGetSize(This,cbActual,fSpyed);
}

void __RPC_FAR * C_IMallocSpy_PreDidAlloc ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pRequest,
            /* [in] */ BOOL fSpyed) {
  return This->lpVtbl->PreDidAlloc(This,pRequest,fSpyed);
}

int C_IMallocSpy_PostDidAlloc ( 
            IMallocSpy __RPC_FAR * This, 
            /* [in] */ void __RPC_FAR *pRequest,
            /* [in] */ BOOL fSpyed,
            /* [in] */ int fActual) {
  return This->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual);
}

void C_IMallocSpy_PreHeapMinimize (
		IMallocSpy __RPC_FAR * This) {
  This->lpVtbl->PreHeapMinimize(This);
}

void C_IMallocSpy_PostHeapMinimize (
		IMallocSpy __RPC_FAR * This) {
  This->lpVtbl->PostHeapMinimize(This);
}

struct IMallocSpyVtbl
IMallocSpy_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IMallocSpy_PreAlloc, DW_IMallocSpy_PostAlloc,
		DW_IMallocSpy_PreFree, DW_IMallocSpy_PostFree,
		DW_IMallocSpy_PreRealloc, DW_IMallocSpy_PostRealloc,
		DW_IMallocSpy_PreGetSize, DW_IMallocSpy_PostGetSize,
		DW_IMallocSpy_PreDidAlloc, DW_IMallocSpy_PostDidAlloc,
		DW_IMallocSpy_PreHeapMinimize, DW_IMallocSpy_PostHeapMinimize};


	/*  IStdMarshalInfo  */

HRESULT C_IStdMarshalInfo_GetClassForHandler ( 
            IStdMarshalInfo __RPC_FAR * This, 
            /* [in] */ DWORD dwDestContext,
            /* [unique][in] */ void __RPC_FAR *pvDestContext,
            /* [out] */ CLSID __RPC_FAR *pClsid) {
  return This->lpVtbl->GetClassForHandler(This,dwDestContext,
		pvDestContext,pClsid);
}

struct IStdMarshalInfoVtbl
IStdMarshalInfo_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IStdMarshalInfo_GetClassForHandler};


	/*  IExternalConnection  */

DWORD C_IExternalConnection_AddConnection ( 
            IExternalConnection __RPC_FAR * This, 
            /* [in] */ DWORD extconn,
            /* [in] */ DWORD reserved) {
  return This->lpVtbl->AddConnection(This,extconn,reserved);
}

DWORD C_IExternalConnection_ReleaseConnection ( 
            IExternalConnection __RPC_FAR * This, 
            /* [in] */ DWORD extconn,
            /* [in] */ DWORD reserved,
            /* [in] */ BOOL fLastReleaseCloses) {
  return This->lpVtbl->ReleaseConnection(This,extconn,reserved,
		fLastReleaseCloses);
}

struct IExternalConnectionVtbl
IExternalConnection_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IExternalConnection_AddConnection,
		DW_IExternalConnection_ReleaseConnection};


	/*  IMultiQI  */

HRESULT C_IMultiQI_QueryMultipleInterfaces ( 
            IMultiQI __RPC_FAR * This, 
            /* [in] */ ULONG cMQIs,
            /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs) {
  return This->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs);
}

	/*  IEnumUnknown  */

HRESULT C_IEnumUnknown_Next ( 
            IEnumUnknown __RPC_FAR * This, 
            /* [in] */ ULONG celt,
            /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
            /* [out] */ ULONG __RPC_FAR *pceltFetched) {
  return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}

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

HRESULT C_IEnumUnknown_Reset (
		IEnumUnknown __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumUnknown_Clone ( 
            IEnumUnknown __RPC_FAR * This, 
            /* [out] */ IEnumUnknown __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Clone(This,ppenum);
}

struct IEnumUnknownVtbl
IEnumUnknown_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_IEnumUnknown_Next,
		DW_IEnumUnknown_Skip, DW_IEnumUnknown_Reset,
		DW_IEnumUnknown_Clone};


	/*  IBindCtx  */

HRESULT C_IBindCtx_RegisterObjectBound ( 
            IBindCtx __RPC_FAR * This, 
            /* [unique][in] */ IUnknown __RPC_FAR *punk) {
  return This->lpVtbl->RegisterObjectBound(This,punk);
}

HRESULT C_IBindCtx_RevokeObjectBound ( 
            IBindCtx __RPC_FAR * This, 
            /* [unique][in] */ IUnknown __RPC_FAR *punk) {
  return This->lpVtbl->RevokeObjectBound(This,punk);
}

HRESULT C_IBindCtx_ReleaseBoundObjects (
		IBindCtx __RPC_FAR * This) {
  return This->lpVtbl->ReleaseBoundObjects(This);
}

HRESULT C_IBindCtx_SetBindOptions ( 
            IBindCtx __RPC_FAR * This, 
            /* [in] */ BIND_OPTS __RPC_FAR *pbindopts) {
  return This->lpVtbl->SetBindOptions(This,pbindopts);
}

HRESULT C_IBindCtx_GetBindOptions ( 
            IBindCtx __RPC_FAR * This, 
            /* [out][in] */ BIND_OPTS __RPC_FAR *pbindopts) {
  return This->lpVtbl->GetBindOptions(This,pbindopts);
}

HRESULT C_IBindCtx_GetRunningObjectTable ( 
            IBindCtx __RPC_FAR * This, 
            /* [out] */ IRunningObjectTable __RPC_FAR *__RPC_FAR *pprot) {
  return This->lpVtbl->GetRunningObjectTable(This,pprot);
}

HRESULT C_IBindCtx_RegisterObjectParam ( 
            IBindCtx __RPC_FAR * This, 
            /* [in] */ LPOLESTR pszKey,
            /* [unique][in] */ IUnknown __RPC_FAR *punk) {
  return This->lpVtbl->RegisterObjectParam(This,pszKey,punk);
}

HRESULT C_IBindCtx_GetObjectParam ( 
            IBindCtx __RPC_FAR * This, 
            /* [in] */ LPOLESTR pszKey,
            /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk) {
  return This->lpVtbl->GetObjectParam(This,pszKey,ppunk);
}

HRESULT C_IBindCtx_EnumObjectParam ( 
            IBindCtx __RPC_FAR * This, 
            /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->EnumObjectParam(This,ppenum);
}

HRESULT C_IBindCtx_RevokeObjectParam ( 
            IBindCtx __RPC_FAR * This, 
            /* [in] */ LPOLESTR pszKey) {
  return This->lpVtbl->RevokeObjectParam(This,pszKey);
}

struct IBindCtxVtbl
IBindCtx_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IBindCtx_RegisterObjectBound, DW_IBindCtx_RevokeObjectBound,
		DW_IBindCtx_ReleaseBoundObjects, DW_IBindCtx_SetBindOptions,
		DW_IBindCtx_GetBindOptions, DW_IBindCtx_GetRunningObjectTable,
		DW_IBindCtx_RegisterObjectParam, DW_IBindCtx_GetObjectParam,
		DW_IBindCtx_EnumObjectParam, DW_IBindCtx_RevokeObjectParam};


	/*  IEnumMoniker  */

HRESULT C_IEnumMoniker_Next ( 
            IEnumMoniker __RPC_FAR * This, 
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
            /* [out] */ ULONG __RPC_FAR *pceltFetched) {
  return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}

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

HRESULT C_IEnumMoniker_Reset (
		IEnumMoniker __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumMoniker_Clone ( 
            IEnumMoniker __RPC_FAR * This, 
            /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Clone(This,ppenum);
}

struct IEnumMonikerVtbl
IEnumMoniker_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_IEnumMoniker_Next,
		DW_IEnumMoniker_Skip, DW_IEnumMoniker_Reset,
		DW_IEnumMoniker_Clone};


	/*  IRunnableObject  */

HRESULT C_IRunnableObject_GetRunningClass ( 
            IRunnableObject __RPC_FAR * This, 
            /* [out] */ LPCLSID lpClsid) {
  return This->lpVtbl->GetRunningClass(This,lpClsid);
}

HRESULT C_IRunnableObject_Run ( 
            IRunnableObject __RPC_FAR * This, 
            /* [in] */ LPBINDCTX pbc) {
  return This->lpVtbl->Run(This,pbc);
}

BOOL C_IRunnableObject_IsRunning (
		IRunnableObject __RPC_FAR * This) {
  return This->lpVtbl->IsRunning(This);
}

HRESULT C_IRunnableObject_LockRunning ( 
            IRunnableObject __RPC_FAR * This, 
            /* [in] */ BOOL fLock,
            /* [in] */ BOOL fLastUnlockCloses) {
  return This->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses);
}

HRESULT C_IRunnableObject_SetContainedObject ( 
            IRunnableObject __RPC_FAR * This, 
            /* [in] */ BOOL fContained) {
  return This->lpVtbl->SetContainedObject(This,fContained);
}

struct IRunnableObjectVtbl
IRunnableObject_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IRunnableObject_GetRunningClass, DW_IRunnableObject_Run,
		DW_IRunnableObject_IsRunning, DW_IRunnableObject_LockRunning,
		DW_IRunnableObject_SetContainedObject};


	/*  IRunningObjectTable  */

HRESULT C_IRunningObjectTable_Register ( 
            IRunningObjectTable __RPC_FAR * This, 
            /* [in] */ DWORD grfFlags,
            /* [unique][in] */ IUnknown __RPC_FAR *punkObject,
            /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
            /* [out] */ DWORD __RPC_FAR *pdwRegister) {
  return This->lpVtbl->Register(This,grfFlags,punkObject,
		pmkObjectName,pdwRegister);
}

HRESULT C_IRunningObjectTable_Revoke ( 
            IRunningObjectTable __RPC_FAR * This, 
            /* [in] */ DWORD dwRegister) {
  return This->lpVtbl->Revoke(This,dwRegister);
}

HRESULT C_IRunningObjectTable_IsRunning ( 
            IRunningObjectTable __RPC_FAR * This, 
            /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName) {
  return This->lpVtbl->IsRunning(This,pmkObjectName);
}

HRESULT C_IRunningObjectTable_GetObject ( 
            IRunningObjectTable __RPC_FAR * This, 
            /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
            /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkObject) {
  return This->lpVtbl->GetObject(This,pmkObjectName,ppunkObject);
}

HRESULT C_IRunningObjectTable_NoteChangeTime ( 
            IRunningObjectTable __RPC_FAR * This, 
            /* [in] */ DWORD dwRegister,
            /* [in] */ FILETIME __RPC_FAR *pfiletime) {
  return This->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime);
}

HRESULT C_IRunningObjectTable_GetTimeOfLastChange ( 
            IRunningObjectTable __RPC_FAR * This, 
            /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
            /* [out] */ FILETIME __RPC_FAR *pfiletime) {
  return This->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,
		pfiletime);
}

HRESULT C_IRunningObjectTable_EnumRunning ( 
            IRunningObjectTable __RPC_FAR * This, 
            /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker) {
  return This->lpVtbl->EnumRunning(This,ppenumMoniker);
}

	/*  IPersist  */

HRESULT C_IPersist_GetClassID ( 
            IPersist __RPC_FAR * This, 
            /* [out] */ CLSID __RPC_FAR *pClassID) {
  return This->lpVtbl->GetClassID(This,pClassID);
}

struct IPersistVtbl
IPersist_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IPersist_GetClassID};


	/*  IPersistStream  */

HRESULT C_IPersistStream_IsDirty (
		IPersistStream __RPC_FAR * This) {
  return This->lpVtbl->IsDirty(This);
}

HRESULT C_IPersistStream_Load ( 
            IPersistStream __RPC_FAR * This, 
            /* [unique][in] */ IStream __RPC_FAR *pStm) {
  return This->lpVtbl->Load(This,pStm);
}

HRESULT C_IPersistStream_Save ( 
            IPersistStream __RPC_FAR * This, 
            /* [unique][in] */ IStream __RPC_FAR *pStm,
            /* [in] */ BOOL fClearDirty) {
  return This->lpVtbl->Save(This,pStm,fClearDirty);
}

HRESULT C_IPersistStream_GetSizeMax ( 
            IPersistStream __RPC_FAR * This, 
            /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize) {
  return This->lpVtbl->GetSizeMax(This,pcbSize);
}

struct IPersistStreamVtbl
IPersistStream_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IPersist_GetClassID, DW_IPersistStream_IsDirty,
		DW_IPersistStream_Load, DW_IPersistStream_Save,
		DW_IPersistStream_GetSizeMax};


	/*  IMoniker  */

HRESULT C_IMoniker_BindToObject ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
            /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
            /* [in] */ REFIID riidResult,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvResult) {
  return This->lpVtbl->BindToObject(This,pbc,pmkToLeft,
		riidResult,ppvResult);
}

HRESULT C_IMoniker_BindToStorage ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
            /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObj) {
  return This->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,
		ppvObj);
}

HRESULT C_IMoniker_Reduce ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
            /* [in] */ DWORD dwReduceHowFar,
            /* [unique][out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkToLeft,
            /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkReduced) {
  return This->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,
		ppmkReduced);
}

HRESULT C_IMoniker_ComposeWith ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IMoniker __RPC_FAR *pmkRight,
            /* [in] */ BOOL fOnlyIfNotGeneric,
            /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkComposite) {
  return This->lpVtbl->ComposeWith(This,pmkRight,
		fOnlyIfNotGeneric,ppmkComposite);
}

HRESULT C_IMoniker_Enum ( 
            IMoniker __RPC_FAR * This, 
            /* [in] */ BOOL fForward,
            /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker) {
  return This->lpVtbl->Enum(This,fForward,ppenumMoniker);
}

HRESULT C_IMoniker_IsEqual ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IMoniker __RPC_FAR *pmkOtherMoniker) {
  return This->lpVtbl->IsEqual(This,pmkOtherMoniker);
}

HRESULT C_IMoniker_Hash ( 
            IMoniker __RPC_FAR * This, 
            /* [out] */ DWORD __RPC_FAR *pdwHash) {
  return This->lpVtbl->Hash(This,pdwHash);
}

HRESULT C_IMoniker_IsRunning ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
            /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
            /* [unique][in] */ IMoniker __RPC_FAR *pmkNewlyRunning) {
  return This->lpVtbl->IsRunning(This,pbc,pmkToLeft,
		pmkNewlyRunning);
}

HRESULT C_IMoniker_GetTimeOfLastChange ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
            /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
            /* [out] */ FILETIME __RPC_FAR *pFileTime) {
  return This->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,
		pFileTime);
}

HRESULT C_IMoniker_Inverse ( 
            IMoniker __RPC_FAR * This, 
            /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk) {
  return This->lpVtbl->Inverse(This,ppmk);
}

HRESULT C_IMoniker_CommonPrefixWith ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
            /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkPrefix) {
  return This->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix);
}

HRESULT C_IMoniker_RelativePathTo ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
            /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkRelPath) {
  return This->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath);
}

HRESULT C_IMoniker_GetDisplayName ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
            /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
            /* [out] */ LPOLESTR __RPC_FAR *ppszDisplayName) {
  return This->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,
		ppszDisplayName);
}

HRESULT C_IMoniker_ParseDisplayName ( 
            IMoniker __RPC_FAR * This, 
            /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
            /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
            /* [in] */ LPOLESTR pszDisplayName,
            /* [out] */ ULONG __RPC_FAR *pchEaten,
            /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut) {
  return This->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,
		pszDisplayName,pchEaten,ppmkOut);
}

HRESULT C_IMoniker_IsSystemMoniker ( 
            IMoniker __RPC_FAR * This, 
            /* [out] */ DWORD __RPC_FAR *pdwMksys) {
  return This->lpVtbl->IsSystemMoniker(This,pdwMksys);
}

struct IMonikerVtbl
IMoniker_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IPersist_GetClassID, DW_IPersistStream_IsDirty,
		DW_IPersistStream_Load, DW_IPersistStream_Save,
		DW_IPersistStream_GetSizeMax, DW_IMoniker_BindToObject,
		DW_IMoniker_BindToStorage, DW_IMoniker_Reduce,
		DW_IMoniker_ComposeWith, DW_IMoniker_Enum, DW_IMoniker_IsEqual,
		DW_IMoniker_Hash, DW_IMoniker_IsRunning,
		DW_IMoniker_GetTimeOfLastChange, DW_IMoniker_Inverse,
		DW_IMoniker_CommonPrefixWith, DW_IMoniker_RelativePathTo,
		DW_IMoniker_GetDisplayName, DW_IMoniker_ParseDisplayName,
		DW_IMoniker_IsSystemMoniker};


	/*  IROTData  */

HRESULT C_IROTData_GetComparisonData ( 
            IROTData __RPC_FAR * This, 
            /* [size_is][out] */ byte __RPC_FAR *pbData,
            /* [in] */ ULONG cbMax,
            /* [out] */ ULONG __RPC_FAR *pcbData) {
  return This->lpVtbl->GetComparisonData(This,pbData,cbMax,
		pcbData);
}

struct IROTDataVtbl
IROTData_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IROTData_GetComparisonData};


	/*  IEnumString  */

HRESULT C_IEnumString_Next ( 
            IEnumString __RPC_FAR * This, 
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ LPOLESTR __RPC_FAR *rgelt,
            /* [out] */ ULONG __RPC_FAR *pceltFetched) {
  return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}

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

HRESULT C_IEnumString_Reset (
		IEnumString __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumString_Clone ( 
            IEnumString __RPC_FAR * This, 
            /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Clone(This,ppenum);
}

struct IEnumStringVtbl
IEnumString_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_IEnumString_Next,
		DW_IEnumString_Skip, DW_IEnumString_Reset,
		DW_IEnumString_Clone};


	/*  ISequentialStream  */

HRESULT C_ISequentialStream_Read ( 
            ISequentialStream __RPC_FAR * This, 
            /* [length_is][size_is][out] */ void __RPC_FAR *pv,
            /* [in] */ ULONG cb,
            /* [out] */ ULONG __RPC_FAR *pcbRead) {
  return This->lpVtbl->Read(This,pv,cb,pcbRead);
}

HRESULT C_ISequentialStream_Write ( 
            ISequentialStream __RPC_FAR * This, 
            /* [size_is][in] */ const void __RPC_FAR *pv,
            /* [in] */ ULONG cb,
            /* [out] */ ULONG __RPC_FAR *pcbWritten) {
  return This->lpVtbl->Write(This,pv,cb,pcbWritten);
}

struct ISequentialStreamVtbl
ISequentialStream_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ISequentialStream_Read, DW_ISequentialStream_Write};


	/*  IStream  */

HRESULT C_IStream_Seek ( 
            IStream __RPC_FAR * This, 
            /* [in] */ LARGE_INTEGER dlibMove,
            /* [in] */ DWORD dwOrigin,
            /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition) {
  return This->lpVtbl->Seek(This,dlibMove,dwOrigin,
		plibNewPosition);
}

HRESULT C_IStream_SetSize ( 
            IStream __RPC_FAR * This, 
            /* [in] */ ULARGE_INTEGER libNewSize) {
  return This->lpVtbl->SetSize(This,libNewSize);
}

HRESULT C_IStream_CopyTo ( 
            IStream __RPC_FAR * This, 
            /* [unique][in] */ IStream __RPC_FAR *pstm,
            /* [in] */ ULARGE_INTEGER cb,
            /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
            /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten) {
  return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
}

HRESULT C_IStream_Commit ( 
            IStream __RPC_FAR * This, 
            /* [in] */ DWORD grfCommitFlags) {
  return This->lpVtbl->Commit(This,grfCommitFlags);
}

HRESULT C_IStream_Revert (
		IStream __RPC_FAR * This) {
  return This->lpVtbl->Revert(This);
}

HRESULT C_IStream_LockRegion ( 
            IStream __RPC_FAR * This, 
            /* [in] */ ULARGE_INTEGER libOffset,
            /* [in] */ ULARGE_INTEGER cb,
            /* [in] */ DWORD dwLockType) {
  return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
}

HRESULT C_IStream_UnlockRegion ( 
            IStream __RPC_FAR * This, 
            /* [in] */ ULARGE_INTEGER libOffset,
            /* [in] */ ULARGE_INTEGER cb,
            /* [in] */ DWORD dwLockType) {
  return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
}

HRESULT C_IStream_Stat ( 
            IStream __RPC_FAR * This, 
            /* [out] */ STATSTG __RPC_FAR *pstatstg,
            /* [in] */ DWORD grfStatFlag) {
  return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}

HRESULT C_IStream_Clone ( 
            IStream __RPC_FAR * This, 
            /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) {
  return This->lpVtbl->Clone(This,ppstm);
}

struct IStreamVtbl
IStream_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_ISequentialStream_Read, DW_ISequentialStream_Write,
		DW_IStream_Seek, DW_IStream_SetSize, DW_IStream_CopyTo,
		DW_IStream_Commit, DW_IStream_Revert, DW_IStream_LockRegion,
		DW_IStream_UnlockRegion, DW_IStream_Stat, DW_IStream_Clone};


	/*  IEnumSTATSTG  */

HRESULT C_IEnumSTATSTG_Next ( 
            IEnumSTATSTG __RPC_FAR * This, 
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ STATSTG __RPC_FAR *rgelt,
            /* [out] */ ULONG __RPC_FAR *pceltFetched) {
  return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}

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

HRESULT C_IEnumSTATSTG_Reset (
		IEnumSTATSTG __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumSTATSTG_Clone ( 
            IEnumSTATSTG __RPC_FAR * This, 
            /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Clone(This,ppenum);
}

struct IEnumSTATSTGVtbl
IEnumSTATSTG_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_IEnumSTATSTG_Next,
		DW_IEnumSTATSTG_Skip, DW_IEnumSTATSTG_Reset,
		DW_IEnumSTATSTG_Clone};


	/*  IStorage  */

HRESULT C_IStorage_CreateStream ( 
            IStorage __RPC_FAR * This, 
            /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
            /* [in] */ DWORD grfMode,
            /* [in] */ DWORD reserved1,
            /* [in] */ DWORD reserved2,
            /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) {
  return This->lpVtbl->CreateStream(This,pwcsName,grfMode,
		reserved1,reserved2,ppstm);
}

HRESULT C_IStorage_OpenStream ( 
            IStorage __RPC_FAR * This, 
            /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
            /* [unique][in] */ void __RPC_FAR *reserved1,
            /* [in] */ DWORD grfMode,
            /* [in] */ DWORD reserved2,
            /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) {
  return This->lpVtbl->OpenStream(This,pwcsName,reserved1,
		grfMode,reserved2,ppstm);
}

HRESULT C_IStorage_CreateStorage ( 
            IStorage __RPC_FAR * This, 
            /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
            /* [in] */ DWORD grfMode,
            /* [in] */ DWORD reserved1,
            /* [in] */ DWORD reserved2,
            /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg) {
  return This->lpVtbl->CreateStorage(This,pwcsName,grfMode,
		reserved1,reserved2,ppstg);
}

HRESULT C_IStorage_OpenStorage ( 
            IStorage __RPC_FAR * This, 
            /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
            /* [unique][in] */ IStorage __RPC_FAR *pstgPriority,
            /* [in] */ DWORD grfMode,
            /* [unique][in] */ SNB snbExclude,
            /* [in] */ DWORD reserved,
            /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg) {
  return This->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,
		grfMode,snbExclude,reserved,ppstg);
}

HRESULT C_IStorage_CopyTo ( 
            IStorage __RPC_FAR * This, 
            /* [in] */ DWORD ciidExclude,
            /* [size_is][unique][in] */ const IID __RPC_FAR *rgiidExclude,
            /* [unique][in] */ SNB snbExclude,
            /* [unique][in] */ IStorage __RPC_FAR *pstgDest) {
  return This->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,
		snbExclude,pstgDest);
}

HRESULT C_IStorage_MoveElementTo ( 
            IStorage __RPC_FAR * This, 
            /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
            /* [unique][in] */ IStorage __RPC_FAR *pstgDest,
            /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName,
            /* [in] */ DWORD grfFlags) {
  return This->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,
		pwcsNewName,grfFlags);
}

HRESULT C_IStorage_Commit ( 
            IStorage __RPC_FAR * This, 
            /* [in] */ DWORD grfCommitFlags) {
  return This->lpVtbl->Commit(This,grfCommitFlags);
}

HRESULT C_IStorage_Revert (
		IStorage __RPC_FAR * This) {
  return This->lpVtbl->Revert(This);
}

HRESULT C_IStorage_EnumElements ( 
            IStorage __RPC_FAR * This, 
            /* [in] */ DWORD reserved1,
            /* [size_is][unique][in] */ void __RPC_FAR *reserved2,
            /* [in] */ DWORD reserved3,
            /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->EnumElements(This,reserved1,reserved2,
		reserved3,ppenum);
}

HRESULT C_IStorage_DestroyElement ( 
            IStorage __RPC_FAR * This, 
            /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName) {
  return This->lpVtbl->DestroyElement(This,pwcsName);
}

HRESULT C_IStorage_RenameElement ( 
            IStorage __RPC_FAR * This, 
            /* [string][in] */ const OLECHAR __RPC_FAR *pwcsOldName,
            /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName) {
  return This->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName);
}

HRESULT C_IStorage_SetElementTimes ( 
            IStorage __RPC_FAR * This, 
            /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
            /* [unique][in] */ const FILETIME __RPC_FAR *pctime,
            /* [unique][in] */ const FILETIME __RPC_FAR *patime,
            /* [unique][in] */ const FILETIME __RPC_FAR *pmtime) {
  return This->lpVtbl->SetElementTimes(This,pwcsName,pctime,
		patime,pmtime);
}

HRESULT C_IStorage_SetClass ( 
            IStorage __RPC_FAR * This, 
            /* [in] */ REFCLSID clsid) {
  return This->lpVtbl->SetClass(This,clsid);
}

HRESULT C_IStorage_SetStateBits ( 
            IStorage __RPC_FAR * This, 
            /* [in] */ DWORD grfStateBits,
            /* [in] */ DWORD grfMask) {
  return This->lpVtbl->SetStateBits(This,grfStateBits,grfMask);
}

HRESULT C_IStorage_Stat ( 
            IStorage __RPC_FAR * This, 
            /* [out] */ STATSTG __RPC_FAR *pstatstg,
            /* [in] */ DWORD grfStatFlag) {
  return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}

struct IStorageVtbl
IStorage_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IStorage_CreateStream, DW_IStorage_OpenStream,
		DW_IStorage_CreateStorage, DW_IStorage_OpenStorage,
		DW_IStorage_CopyTo, DW_IStorage_MoveElementTo,
		DW_IStorage_Commit, DW_IStorage_Revert,
		DW_IStorage_EnumElements, DW_IStorage_DestroyElement,
		DW_IStorage_RenameElement, DW_IStorage_SetElementTimes,
		DW_IStorage_SetClass, DW_IStorage_SetStateBits,
		DW_IStorage_Stat};


	/*  IPersistFile  */

HRESULT C_IPersistFile_IsDirty (
		IPersistFile __RPC_FAR * This) {
  return This->lpVtbl->IsDirty(This);
}

HRESULT C_IPersistFile_Load ( 
            IPersistFile __RPC_FAR * This, 
            /* [in] */ LPCOLESTR pszFileName,
            /* [in] */ DWORD dwMode) {
  return This->lpVtbl->Load(This,pszFileName,dwMode);
}

HRESULT C_IPersistFile_Save ( 
            IPersistFile __RPC_FAR * This, 
            /* [unique][in] */ LPCOLESTR pszFileName,
            /* [in] */ BOOL fRemember) {
  return This->lpVtbl->Save(This,pszFileName,fRemember);
}

HRESULT C_IPersistFile_SaveCompleted ( 
            IPersistFile __RPC_FAR * This, 
            /* [unique][in] */ LPCOLESTR pszFileName) {
  return This->lpVtbl->SaveCompleted(This,pszFileName);
}

HRESULT C_IPersistFile_GetCurFile ( 
            IPersistFile __RPC_FAR * This, 
            /* [out] */ LPOLESTR __RPC_FAR *ppszFileName) {
  return This->lpVtbl->GetCurFile(This,ppszFileName);
}

struct IPersistFileVtbl
IPersistFile_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IPersist_GetClassID, DW_IPersistFile_IsDirty,
		DW_IPersistFile_Load, DW_IPersistFile_Save,
		DW_IPersistFile_SaveCompleted, DW_IPersistFile_GetCurFile};


	/*  IPersistStorage  */

HRESULT C_IPersistStorage_IsDirty (
		IPersistStorage __RPC_FAR * This) {
  return This->lpVtbl->IsDirty(This);
}

HRESULT C_IPersistStorage_InitNew ( 
            IPersistStorage __RPC_FAR * This, 
            /* [unique][in] */ IStorage __RPC_FAR *pStg) {
  return This->lpVtbl->InitNew(This,pStg);
}

HRESULT C_IPersistStorage_Load ( 
            IPersistStorage __RPC_FAR * This, 
            /* [unique][in] */ IStorage __RPC_FAR *pStg) {
  return This->lpVtbl->Load(This,pStg);
}

HRESULT C_IPersistStorage_Save ( 
            IPersistStorage __RPC_FAR * This, 
            /* [unique][in] */ IStorage __RPC_FAR *pStgSave,
            /* [in] */ BOOL fSameAsLoad) {
  return This->lpVtbl->Save(This,pStgSave,fSameAsLoad);
}

HRESULT C_IPersistStorage_SaveCompleted ( 
            IPersistStorage __RPC_FAR * This, 
            /* [unique][in] */ IStorage __RPC_FAR *pStgNew) {
  return This->lpVtbl->SaveCompleted(This,pStgNew);
}

HRESULT C_IPersistStorage_HandsOffStorage (
		IPersistStorage __RPC_FAR * This) {
  return This->lpVtbl->HandsOffStorage(This);
}

struct IPersistStorageVtbl
IPersistStorage_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IPersist_GetClassID, DW_IPersistStorage_IsDirty,
		DW_IPersistStorage_InitNew, DW_IPersistStorage_Load,
		DW_IPersistStorage_Save, DW_IPersistStorage_SaveCompleted,
		DW_IPersistStorage_HandsOffStorage};


	/*  ILockBytes  */

HRESULT C_ILockBytes_ReadAt ( 
            ILockBytes __RPC_FAR * This, 
            /* [in] */ ULARGE_INTEGER ulOffset,
            /* [length_is][size_is][out] */ void __RPC_FAR *pv,
            /* [in] */ ULONG cb,
            /* [out] */ ULONG __RPC_FAR *pcbRead) {
  return This->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead);
}

HRESULT C_ILockBytes_WriteAt ( 
            ILockBytes __RPC_FAR * This, 
            /* [in] */ ULARGE_INTEGER ulOffset,
            /* [size_is][in] */ const void __RPC_FAR *pv,
            /* [in] */ ULONG cb,
            /* [out] */ ULONG __RPC_FAR *pcbWritten) {
  return This->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten);
}

HRESULT C_ILockBytes_Flush (
		ILockBytes __RPC_FAR * This) {
  return This->lpVtbl->Flush(This);
}

HRESULT C_ILockBytes_SetSize ( 
            ILockBytes __RPC_FAR * This, 
            /* [in] */ ULARGE_INTEGER cb) {
  return This->lpVtbl->SetSize(This,cb);
}

HRESULT C_ILockBytes_LockRegion ( 
            ILockBytes __RPC_FAR * This, 
            /* [in] */ ULARGE_INTEGER libOffset,
            /* [in] */ ULARGE_INTEGER cb,
            /* [in] */ DWORD dwLockType) {
  return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
}

HRESULT C_ILockBytes_UnlockRegion ( 
            ILockBytes __RPC_FAR * This, 
            /* [in] */ ULARGE_INTEGER libOffset,
            /* [in] */ ULARGE_INTEGER cb,
            /* [in] */ DWORD dwLockType) {
  return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
}

HRESULT C_ILockBytes_Stat ( 
            ILockBytes __RPC_FAR * This, 
            /* [out] */ STATSTG __RPC_FAR *pstatstg,
            /* [in] */ DWORD grfStatFlag) {
  return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}

struct ILockBytesVtbl
ILockBytes_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release, DW_ILockBytes_ReadAt,
		DW_ILockBytes_WriteAt, DW_ILockBytes_Flush,
		DW_ILockBytes_SetSize, DW_ILockBytes_LockRegion,
		DW_ILockBytes_UnlockRegion, DW_ILockBytes_Stat};


	/*  IEnumFORMATETC  */

HRESULT C_IEnumFORMATETC_Next ( 
            IEnumFORMATETC __RPC_FAR * This, 
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,
            /* [out] */ ULONG __RPC_FAR *pceltFetched) {
  return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}

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

HRESULT C_IEnumFORMATETC_Reset (
		IEnumFORMATETC __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumFORMATETC_Clone ( 
            IEnumFORMATETC __RPC_FAR * This, 
            /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Clone(This,ppenum);
}

struct IEnumFORMATETCVtbl
IEnumFORMATETC_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IEnumFORMATETC_Next, DW_IEnumFORMATETC_Skip,
		DW_IEnumFORMATETC_Reset, DW_IEnumFORMATETC_Clone};


	/*  IEnumSTATDATA  */

HRESULT C_IEnumSTATDATA_Next ( 
            IEnumSTATDATA __RPC_FAR * This, 
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ STATDATA __RPC_FAR *rgelt,
            /* [out] */ ULONG __RPC_FAR *pceltFetched) {
  return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}

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

HRESULT C_IEnumSTATDATA_Reset (
		IEnumSTATDATA __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumSTATDATA_Clone ( 
            IEnumSTATDATA __RPC_FAR * This, 
            /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Clone(This,ppenum);
}

	/*  IRootStorage  */

HRESULT C_IRootStorage_SwitchToFile ( 
            IRootStorage __RPC_FAR * This, 
            /* [in] */ LPOLESTR pszFile) {
  return This->lpVtbl->SwitchToFile(This,pszFile);
}

struct IRootStorageVtbl
IRootStorage_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IRootStorage_SwitchToFile};


	/*  IAdviseSink  */

void C_IAdviseSink_OnDataChange ( 
            IAdviseSink __RPC_FAR * This, 
            /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
            /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed) {
  This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
}

void C_IAdviseSink_OnViewChange ( 
            IAdviseSink __RPC_FAR * This, 
            /* [in] */ DWORD dwAspect,
            /* [in] */ LONG lindex) {
  This->lpVtbl->OnViewChange(This,dwAspect,lindex);
}

void C_IAdviseSink_OnRename ( 
            IAdviseSink __RPC_FAR * This, 
            /* [in] */ IMoniker __RPC_FAR *pmk) {
  This->lpVtbl->OnRename(This,pmk);
}

void C_IAdviseSink_OnSave (
		IAdviseSink __RPC_FAR * This) {
  This->lpVtbl->OnSave(This);
}

void C_IAdviseSink_OnClose (
		IAdviseSink __RPC_FAR * This) {
  This->lpVtbl->OnClose(This);
}

struct IAdviseSinkVtbl
IAdviseSink_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IAdviseSink_OnDataChange, DW_IAdviseSink_OnViewChange,
		DW_IAdviseSink_OnRename, DW_IAdviseSink_OnSave,
		DW_IAdviseSink_OnClose};


	/*  IAdviseSink2  */

void C_IAdviseSink2_OnLinkSrcChange ( 
            IAdviseSink2 __RPC_FAR * This, 
            /* [unique][in] */ IMoniker __RPC_FAR *pmk) {
  This->lpVtbl->OnLinkSrcChange(This,pmk);
}

struct IAdviseSink2Vtbl
IAdviseSink2_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IAdviseSink_OnDataChange, DW_IAdviseSink_OnViewChange,
		DW_IAdviseSink_OnRename, DW_IAdviseSink_OnSave,
		DW_IAdviseSink_OnClose, DW_IAdviseSink2_OnLinkSrcChange};


	/*  IDataObject  */

HRESULT C_IDataObject_GetData ( 
            IDataObject __RPC_FAR * This, 
            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
            /* [out] */ STGMEDIUM __RPC_FAR *pmedium) {
  return This->lpVtbl->GetData(This,pformatetcIn,pmedium);
}

HRESULT C_IDataObject_GetDataHere ( 
            IDataObject __RPC_FAR * This, 
            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
            /* [out][in] */ STGMEDIUM __RPC_FAR *pmedium) {
  return This->lpVtbl->GetDataHere(This,pformatetc,pmedium);
}

HRESULT C_IDataObject_QueryGetData ( 
            IDataObject __RPC_FAR * This, 
            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc) {
  return This->lpVtbl->QueryGetData(This,pformatetc);
}

HRESULT C_IDataObject_GetCanonicalFormatEtc ( 
            IDataObject __RPC_FAR * This, 
            /* [unique][in] */ FORMATETC __RPC_FAR *pformatectIn,
            /* [out] */ FORMATETC __RPC_FAR *pformatetcOut) {
  return This->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,
		pformatetcOut);
}

HRESULT C_IDataObject_SetData ( 
            IDataObject __RPC_FAR * This, 
            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
            /* [unique][in] */ STGMEDIUM __RPC_FAR *pmedium,
            /* [in] */ BOOL fRelease) {
  return This->lpVtbl->SetData(This,pformatetc,pmedium,fRelease);
}

HRESULT C_IDataObject_EnumFormatEtc ( 
            IDataObject __RPC_FAR * This, 
            /* [in] */ DWORD dwDirection,
            /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc) {
  return This->lpVtbl->EnumFormatEtc(This,dwDirection,
		ppenumFormatEtc);
}

HRESULT C_IDataObject_DAdvise ( 
            IDataObject __RPC_FAR * This, 
            /* [in] */ FORMATETC __RPC_FAR *pformatetc,
            /* [in] */ DWORD advf,
            /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvSink,
            /* [out] */ DWORD __RPC_FAR *pdwConnection) {
  return This->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,
		pdwConnection);
}

HRESULT C_IDataObject_DUnadvise ( 
            IDataObject __RPC_FAR * This, 
            /* [in] */ DWORD dwConnection) {
  return This->lpVtbl->DUnadvise(This,dwConnection);
}

HRESULT C_IDataObject_EnumDAdvise ( 
            IDataObject __RPC_FAR * This, 
            /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise) {
  return This->lpVtbl->EnumDAdvise(This,ppenumAdvise);
}

struct IDataObjectVtbl
IDataObject_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IDataObject_GetData, DW_IDataObject_GetDataHere,
		DW_IDataObject_QueryGetData,
		DW_IDataObject_GetCanonicalFormatEtc, DW_IDataObject_SetData,
		DW_IDataObject_EnumFormatEtc, DW_IDataObject_DAdvise,
		DW_IDataObject_DUnadvise, DW_IDataObject_EnumDAdvise};


	/*  IDataAdviseHolder  */

HRESULT C_IDataAdviseHolder_Advise ( 
            IDataAdviseHolder __RPC_FAR * This, 
            /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
            /* [unique][in] */ FORMATETC __RPC_FAR *pFetc,
            /* [in] */ DWORD advf,
            /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvise,
            /* [out] */ DWORD __RPC_FAR *pdwConnection) {
  return This->lpVtbl->Advise(This,pDataObject,pFetc,advf,
		pAdvise,pdwConnection);
}

HRESULT C_IDataAdviseHolder_Unadvise ( 
            IDataAdviseHolder __RPC_FAR * This, 
            /* [in] */ DWORD dwConnection) {
  return This->lpVtbl->Unadvise(This,dwConnection);
}

HRESULT C_IDataAdviseHolder_EnumAdvise ( 
            IDataAdviseHolder __RPC_FAR * This, 
            /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise) {
  return This->lpVtbl->EnumAdvise(This,ppenumAdvise);
}

HRESULT C_IDataAdviseHolder_SendOnDataChange ( 
            IDataAdviseHolder __RPC_FAR * This, 
            /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
            /* [in] */ DWORD dwReserved,
            /* [in] */ DWORD advf) {
  return This->lpVtbl->SendOnDataChange(This,pDataObject,
		dwReserved,advf);
}

struct IDataAdviseHolderVtbl
IDataAdviseHolder_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IDataAdviseHolder_Advise, DW_IDataAdviseHolder_Unadvise,
		DW_IDataAdviseHolder_EnumAdvise,
		DW_IDataAdviseHolder_SendOnDataChange};


	/*  IMessageFilter  */

DWORD C_IMessageFilter_HandleInComingCall ( 
            IMessageFilter __RPC_FAR * This, 
            /* [in] */ DWORD dwCallType,
            /* [in] */ HTASK htaskCaller,
            /* [in] */ DWORD dwTickCount,
            /* [in] */ LPINTERFACEINFO lpInterfaceInfo) {
  return This->lpVtbl->HandleInComingCall(This,dwCallType,
		htaskCaller,dwTickCount,lpInterfaceInfo);
}

DWORD C_IMessageFilter_RetryRejectedCall ( 
            IMessageFilter __RPC_FAR * This, 
            /* [in] */ HTASK htaskCallee,
            /* [in] */ DWORD dwTickCount,
            /* [in] */ DWORD dwRejectType) {
  return This->lpVtbl->RetryRejectedCall(This,htaskCallee,
		dwTickCount,dwRejectType);
}

DWORD C_IMessageFilter_MessagePending ( 
            IMessageFilter __RPC_FAR * This, 
            /* [in] */ HTASK htaskCallee,
            /* [in] */ DWORD dwTickCount,
            /* [in] */ DWORD dwPendingType) {
  return This->lpVtbl->MessagePending(This,htaskCallee,
		dwTickCount,dwPendingType);
}

struct IMessageFilterVtbl
IMessageFilter_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IMessageFilter_HandleInComingCall,
		DW_IMessageFilter_RetryRejectedCall,
		DW_IMessageFilter_MessagePending};


	/*  IRpcChannelBuffer  */

HRESULT C_IRpcChannelBuffer_GetBuffer ( 
            IRpcChannelBuffer __RPC_FAR * This, 
            /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
            /* [in] */ REFIID riid) {
  return This->lpVtbl->GetBuffer(This,pMessage,riid);
}

HRESULT C_IRpcChannelBuffer_SendReceive ( 
            IRpcChannelBuffer __RPC_FAR * This, 
            /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
            /* [out] */ ULONG __RPC_FAR *pStatus) {
  return This->lpVtbl->SendReceive(This,pMessage,pStatus);
}

HRESULT C_IRpcChannelBuffer_FreeBuffer ( 
            IRpcChannelBuffer __RPC_FAR * This, 
            /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage) {
  return This->lpVtbl->FreeBuffer(This,pMessage);
}

HRESULT C_IRpcChannelBuffer_GetDestCtx ( 
            IRpcChannelBuffer __RPC_FAR * This, 
            /* [out] */ DWORD __RPC_FAR *pdwDestContext,
            /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext) {
  return This->lpVtbl->GetDestCtx(This,pdwDestContext,
		ppvDestContext);
}

HRESULT C_IRpcChannelBuffer_IsConnected (
		IRpcChannelBuffer __RPC_FAR * This) {
  return This->lpVtbl->IsConnected(This);
}

	/*  IRpcProxyBuffer  */

HRESULT C_IRpcProxyBuffer_Connect ( 
            IRpcProxyBuffer __RPC_FAR * This, 
            /* [unique][in] */ IRpcChannelBuffer __RPC_FAR *pRpcChannelBuffer) {
  return This->lpVtbl->Connect(This,pRpcChannelBuffer);
}

void C_IRpcProxyBuffer_Disconnect (
		IRpcProxyBuffer __RPC_FAR * This) {
  This->lpVtbl->Disconnect(This);
}

struct IRpcProxyBufferVtbl
IRpcProxyBuffer_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IRpcProxyBuffer_Connect, DW_IRpcProxyBuffer_Disconnect};


	/*  IRpcStubBuffer  */

HRESULT C_IRpcStubBuffer_Connect ( 
            IRpcStubBuffer __RPC_FAR * This, 
            /* [in] */ IUnknown __RPC_FAR *pUnkServer) {
  return This->lpVtbl->Connect(This,pUnkServer);
}

void C_IRpcStubBuffer_Disconnect (
		IRpcStubBuffer __RPC_FAR * This) {
  This->lpVtbl->Disconnect(This);
}

HRESULT C_IRpcStubBuffer_Invoke ( 
            IRpcStubBuffer __RPC_FAR * This, 
            /* [in] */ RPCOLEMESSAGE __RPC_FAR *_prpcmsg,
            /* [in] */ IRpcChannelBuffer __RPC_FAR *_pRpcChannelBuffer) {
  return This->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer);
}

IRpcStubBuffer __RPC_FAR * C_IRpcStubBuffer_IsIIDSupported ( 
            IRpcStubBuffer __RPC_FAR * This, 
            /* [in] */ REFIID riid) {
  return This->lpVtbl->IsIIDSupported(This,riid);
}

ULONG C_IRpcStubBuffer_CountRefs (
		IRpcStubBuffer __RPC_FAR * This) {
  return This->lpVtbl->CountRefs(This);
}

HRESULT C_IRpcStubBuffer_DebugServerQueryInterface ( 
            IRpcStubBuffer __RPC_FAR * This, 
            void __RPC_FAR *__RPC_FAR *ppv) {
  return This->lpVtbl->DebugServerQueryInterface(This,ppv);
}

void C_IRpcStubBuffer_DebugServerRelease ( 
            IRpcStubBuffer __RPC_FAR * This, 
            void __RPC_FAR *pv) {
  This->lpVtbl->DebugServerRelease(This,pv);
}

struct IRpcStubBufferVtbl
IRpcStubBuffer_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IRpcStubBuffer_Connect, DW_IRpcStubBuffer_Disconnect,
		DW_IRpcStubBuffer_Invoke, DW_IRpcStubBuffer_IsIIDSupported,
		DW_IRpcStubBuffer_CountRefs,
		DW_IRpcStubBuffer_DebugServerQueryInterface,
		DW_IRpcStubBuffer_DebugServerRelease};


	/*  IPSFactoryBuffer  */

HRESULT C_IPSFactoryBuffer_CreateProxy ( 
            IPSFactoryBuffer __RPC_FAR * This, 
            /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
            /* [in] */ REFIID riid,
            /* [out] */ IRpcProxyBuffer __RPC_FAR *__RPC_FAR *ppProxy,
            /* [out] */ void __RPC_FAR *__RPC_FAR *ppv) {
  return This->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,
		ppv);
}

HRESULT C_IPSFactoryBuffer_CreateStub ( 
            IPSFactoryBuffer __RPC_FAR * This, 
            /* [in] */ REFIID riid,
            /* [unique][in] */ IUnknown __RPC_FAR *pUnkServer,
            /* [out] */ IRpcStubBuffer __RPC_FAR *__RPC_FAR *ppStub) {
  return This->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub);
}

struct IPSFactoryBufferVtbl
IPSFactoryBuffer_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IPSFactoryBuffer_CreateProxy,
		DW_IPSFactoryBuffer_CreateStub};


	/*  IPropertyStorage  */

HRESULT C_IPropertyStorage_ReadMultiple ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ ULONG cpspec,
            /* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[  ],
            /* [size_is][out] */ PROPVARIANT __RPC_FAR rgpropvar[  ]) {
  return This->lpVtbl->ReadMultiple(This,cpspec,rgpspec,rgpropvar);
}

HRESULT C_IPropertyStorage_WriteMultiple ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ ULONG cpspec,
            /* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[  ],
            /* [size_is][in] */ const PROPVARIANT __RPC_FAR rgpropvar[  ],
            /* [in] */ PROPID propidNameFirst) {
  return This->lpVtbl->WriteMultiple(This,cpspec,rgpspec,
		rgpropvar,propidNameFirst);
}

HRESULT C_IPropertyStorage_DeleteMultiple ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ ULONG cpspec,
            /* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[  ]) {
  return This->lpVtbl->DeleteMultiple(This,cpspec,rgpspec);
}

HRESULT C_IPropertyStorage_ReadPropertyNames ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ ULONG cpropid,
            /* [size_is][in] */ const PROPID __RPC_FAR rgpropid[  ],
            /* [size_is][out] */ LPOLESTR __RPC_FAR rglpwstrName[  ]) {
  return This->lpVtbl->ReadPropertyNames(This,cpropid,rgpropid,
		rglpwstrName);
}

HRESULT C_IPropertyStorage_WritePropertyNames ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ ULONG cpropid,
            /* [size_is][in] */ const PROPID __RPC_FAR rgpropid[  ],
            /* [size_is][in] */ const LPOLESTR __RPC_FAR rglpwstrName[  ]) {
  return This->lpVtbl->WritePropertyNames(This,cpropid,rgpropid,
		rglpwstrName);
}

HRESULT C_IPropertyStorage_DeletePropertyNames ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ ULONG cpropid,
            /* [size_is][in] */ const PROPID __RPC_FAR rgpropid[  ]) {
  return This->lpVtbl->DeletePropertyNames(This,cpropid,rgpropid);
}

HRESULT C_IPropertyStorage_Commit ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ DWORD grfCommitFlags) {
  return This->lpVtbl->Commit(This,grfCommitFlags);
}

HRESULT C_IPropertyStorage_Revert (
		IPropertyStorage __RPC_FAR * This) {
  return This->lpVtbl->Revert(This);
}

HRESULT C_IPropertyStorage_Enum ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [out] */ IEnumSTATPROPSTG __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Enum(This,ppenum);
}

HRESULT C_IPropertyStorage_SetTimes ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ const FILETIME __RPC_FAR *pctime,
            /* [in] */ const FILETIME __RPC_FAR *patime,
            /* [in] */ const FILETIME __RPC_FAR *pmtime) {
  return This->lpVtbl->SetTimes(This,pctime,patime,pmtime);
}

HRESULT C_IPropertyStorage_SetClass ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [in] */ REFCLSID clsid) {
  return This->lpVtbl->SetClass(This,clsid);
}

HRESULT C_IPropertyStorage_Stat ( 
            IPropertyStorage __RPC_FAR * This, 
            /* [out] */ STATPROPSETSTG __RPC_FAR *pstatpsstg) {
  return This->lpVtbl->Stat(This,pstatpsstg);
}

struct IPropertyStorageVtbl
IPropertyStorage_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IPropertyStorage_ReadMultiple,
		DW_IPropertyStorage_WriteMultiple,
		DW_IPropertyStorage_DeleteMultiple,
		DW_IPropertyStorage_ReadPropertyNames,
		DW_IPropertyStorage_WritePropertyNames,
		DW_IPropertyStorage_DeletePropertyNames,
		DW_IPropertyStorage_Commit, DW_IPropertyStorage_Revert,
		DW_IPropertyStorage_Enum, DW_IPropertyStorage_SetTimes,
		DW_IPropertyStorage_SetClass, DW_IPropertyStorage_Stat};


	/*  IPropertySetStorage  */

HRESULT C_IPropertySetStorage_Create ( 
            IPropertySetStorage __RPC_FAR * This, 
            /* [in] */ REFFMTID rfmtid,
            /* [unique][in] */ const CLSID __RPC_FAR *pclsid,
            /* [in] */ DWORD grfFlags,
            /* [in] */ DWORD grfMode,
            /* [out] */ IPropertyStorage __RPC_FAR *__RPC_FAR *ppprstg) {
  return This->lpVtbl->Create(This,rfmtid,pclsid,grfFlags,
		grfMode,ppprstg);
}

HRESULT C_IPropertySetStorage_Open ( 
            IPropertySetStorage __RPC_FAR * This, 
            /* [in] */ REFFMTID rfmtid,
            /* [in] */ DWORD grfMode,
            /* [out] */ IPropertyStorage __RPC_FAR *__RPC_FAR *ppprstg) {
  return This->lpVtbl->Open(This,rfmtid,grfMode,ppprstg);
}

HRESULT C_IPropertySetStorage_Delete ( 
            IPropertySetStorage __RPC_FAR * This, 
            /* [in] */ REFFMTID rfmtid) {
  return This->lpVtbl->Delete(This,rfmtid);
}

HRESULT C_IPropertySetStorage_Enum ( 
            IPropertySetStorage __RPC_FAR * This, 
            /* [out] */ IEnumSTATPROPSETSTG __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Enum(This,ppenum);
}

struct IPropertySetStorageVtbl
IPropertySetStorage_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IPropertySetStorage_Create, DW_IPropertySetStorage_Open,
		DW_IPropertySetStorage_Delete, DW_IPropertySetStorage_Enum};


	/*  IEnumSTATPROPSTG  */

HRESULT C_IEnumSTATPROPSTG_Next ( 
            IEnumSTATPROPSTG __RPC_FAR * This, 
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ STATPROPSTG __RPC_FAR *rgelt,
            /* [out] */ ULONG __RPC_FAR *pceltFetched) {
  return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}

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

HRESULT C_IEnumSTATPROPSTG_Reset (
		IEnumSTATPROPSTG __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumSTATPROPSTG_Clone ( 
            IEnumSTATPROPSTG __RPC_FAR * This, 
            /* [out] */ IEnumSTATPROPSTG __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Clone(This,ppenum);
}

struct IEnumSTATPROPSTGVtbl
IEnumSTATPROPSTG_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IEnumSTATPROPSTG_Next, DW_IEnumSTATPROPSTG_Skip,
		DW_IEnumSTATPROPSTG_Reset, DW_IEnumSTATPROPSTG_Clone};


	/*  IEnumSTATPROPSETSTG  */

HRESULT C_IEnumSTATPROPSETSTG_Next ( 
            IEnumSTATPROPSETSTG __RPC_FAR * This, 
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ STATPROPSETSTG __RPC_FAR *rgelt,
            /* [out] */ ULONG __RPC_FAR *pceltFetched) {
  return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}

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

HRESULT C_IEnumSTATPROPSETSTG_Reset (
		IEnumSTATPROPSETSTG __RPC_FAR * This) {
  return This->lpVtbl->Reset(This);
}

HRESULT C_IEnumSTATPROPSETSTG_Clone ( 
            IEnumSTATPROPSETSTG __RPC_FAR * This, 
            /* [out] */ IEnumSTATPROPSETSTG __RPC_FAR *__RPC_FAR *ppenum) {
  return This->lpVtbl->Clone(This,ppenum);
}

struct IEnumSTATPROPSETSTGVtbl
IEnumSTATPROPSETSTG_DW_vtbl = { DW_IUnknown_QueryInterface,
		DW_IUnknown_AddRef, DW_IUnknown_Release,
		DW_IEnumSTATPROPSETSTG_Next, DW_IEnumSTATPROPSETSTG_Skip,
		DW_IEnumSTATPROPSETSTG_Reset, DW_IEnumSTATPROPSETSTG_Clone};


	/*  ILayoutStorage  */

HRESULT C_ILayoutStorage_LayoutScript ( 
            ILayoutStorage __RPC_FAR * This, 
            /* [in] */ StorageLayout __RPC_FAR *pStorageLayout,
            /* [in] */ DWORD nEntries,
            /* [in] */ DWORD glfInterleavedFlag) {
  return This->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,
		glfInterleavedFlag);
}

HRESULT C_ILayoutStorage_BeginMonitor (
		ILayoutStorage __RPC_FAR * This) {
  return This->lpVtbl->BeginMonitor(This);
}

HRESULT C_ILayoutStorage_EndMonitor (
		ILayoutStorage __RPC_FAR * This) {
  return This->lpVtbl->EndMonitor(This);
}

HRESULT C_ILayoutStorage_ReLayoutDocfile ( 
            ILayoutStorage __RPC_FAR * This, 
            /* [in] */ OLECHAR __RPC_FAR *pwcsNewDfName) {
  return This->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName);
}

HRESULT C_ILayoutStorage_ReLayoutDocfileOnILockBytes ( 
            ILayoutStorage __RPC_FAR * This, 
            /* [in] */ ILockBytes __RPC_FAR *pILockBytes) {
  return This->lpVtbl->ReLayoutDocfileOnILockBytes(This,
		pILockBytes);
}

	/*  IDirectWriterLock  */

HRESULT C_IDirectWriterLock_WaitForWriteAccess ( 
            IDirectWriterLock __RPC_FAR * This, 
            /* [in] */ DWORD dwTimeout) {
  return This->lpVtbl->WaitForWriteAccess(This,dwTimeout);
}

HRESULT C_IDirectWriterLock_ReleaseWriteAccess (
		IDirectWriterLock __RPC_FAR * This) {
  return This->lpVtbl->ReleaseWriteAccess(This);
}

HRESULT C_IDirectWriterLock_HaveWriteAccess (
		IDirectWriterLock __RPC_FAR * This) {
  return This->lpVtbl->HaveWriteAccess(This);
}

	/*  ICancelMethodCalls  */

HRESULT C_ICancelMethodCalls_Cancel (
		ICancelMethodCalls __RPC_FAR * This,
		/* [in] */ ULONG ulSeconds) {
  return This->lpVtbl->Cancel(This,ulSeconds);
}

HRESULT C_ICancelMethodCalls_TestCancel (
		ICancelMethodCalls __RPC_FAR * This) {
  return This->lpVtbl->TestCancel(This);
}
