text: /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  #ifndef __REQUIRED_RPCNDR_H_VERSION__
  #define __REQUIRED_RPCNDR_H_VERSION__ 440
  #endif
  
  #include "rpc.h"
  #include "rpcndr.h"
  
  #ifndef __RPCNDR_H_VERSION__
  #error this stub requires an updated version of <rpcndr.h>
  #endif
  
  #ifndef COM_NO_WINDOWS_H
  #include "windows.h"
  #include "ole2.h"
  #endif
  
  #ifndef __EMOSTORE_h__
  #define __EMOSTORE_h__
  
  #ifndef __IExchangeServer_FWD_DEFINED__
  #define __IExchangeServer_FWD_DEFINED__
  typedef struct IExchangeServer IExchangeServer;
  #endif
  
  #ifndef __IStorageGroup_FWD_DEFINED__
  #define __IStorageGroup_FWD_DEFINED__
  typedef struct IStorageGroup IStorageGroup;
  #endif
  
  #ifndef __IPublicStoreDB_FWD_DEFINED__
  #define __IPublicStoreDB_FWD_DEFINED__
  typedef struct IPublicStoreDB IPublicStoreDB;
  #endif
  
  #ifndef __IMailboxStoreDB_FWD_DEFINED__
  #define __IMailboxStoreDB_FWD_DEFINED__
  typedef struct IMailboxStoreDB IMailboxStoreDB;
  #endif
  
  #ifndef __IFolderTree_FWD_DEFINED__
  #define __IFolderTree_FWD_DEFINED__
  typedef struct IFolderTree IFolderTree;
  #endif
  
  #ifndef __IDataSource2_FWD_DEFINED__
  #define __IDataSource2_FWD_DEFINED__
  typedef struct IDataSource2 IDataSource2;
  #endif
  
  #include "oaidl.h"
  #include "ocidl.h"
  #include "msado15.h"
  #include "cdoex.h"
  
  #ifdef __cplusplus
  extern "C"{
  #endif
  
  #ifndef __MIDL_user_allocate_free_DEFINED__
  #define __MIDL_user_allocate_free_DEFINED__
    void *__RPC_API MIDL_user_allocate(size_t);
    void __RPC_API MIDL_user_free(void *);
  #endif
  
    typedef enum CDOEXMStoreDBStatus {
      cdoexmOnline = 0,cdoexmOffline = 0x1,cdoexmMounting = 0x2,cdoexmDismounting = 0x3
    } CDOEXMStoreDBStatus;
  
    typedef enum CDOEXMFolderTreeType {
      cdoexmGeneralPurpose = 0,cdoexmMAPI = 0x1,cdoexmNNTPOnly = 0x2
    } CDOEXMFolderTreeType;
  
    typedef enum CDOEXMServerType {
      cdoexmBackEnd = 0,cdoexmFrontEnd = 0x1
    } CDOEXMServerType;
  
    extern RPC_IF_HANDLE __MIDL_itf_EMOSTORE_0000_v0_0_c_ifspec;
    extern RPC_IF_HANDLE __MIDL_itf_EMOSTORE_0000_v0_0_s_ifspec;
  
  #ifndef __IExchangeServer_INTERFACE_DEFINED__
  #define __IExchangeServer_INTERFACE_DEFINED__
    EXTERN_C const IID IID_IExchangeServer;
  #if defined(__cplusplus) && !defined(CINTERFACE)
    struct IExchangeServer : public IDispatch {
    public:
      virtual HRESULT WINAPI get_DataSource(IDataSource2 **varDataSource) = 0;
      virtual HRESULT WINAPI get_Fields(Fields **varFields) = 0;
      virtual HRESULT WINAPI get_Name(BSTR *varName) = 0;
      virtual HRESULT WINAPI get_ExchangeVersion(BSTR *varExchangeVersion) = 0;
      virtual HRESULT WINAPI get_StorageGroups(VARIANT *varStorageGroups) = 0;
      virtual HRESULT WINAPI get_SubjectLoggingEnabled(VARIANT_BOOL *pSubjectLoggingEnabled) = 0;
      virtual HRESULT WINAPI put_SubjectLoggingEnabled(VARIANT_BOOL varSubjectLoggingEnabled) = 0;
      virtual HRESULT WINAPI get_MessageTrackingEnabled(VARIANT_BOOL *pMessageTrackingEnabled) = 0;
      virtual HRESULT WINAPI put_MessageTrackingEnabled(VARIANT_BOOL varMessageTrackingEnabled) = 0;
      virtual HRESULT WINAPI get_DaysBeforeLogFileRemoval(long *pDaysBeforeLogFileRemoval) = 0;
      virtual HRESULT WINAPI put_DaysBeforeLogFileRemoval(long varDaysBeforeLogFileRemoval) = 0;
      virtual HRESULT WINAPI get_ServerType(CDOEXMServerType *pServerType) = 0;
      virtual HRESULT WINAPI put_ServerType(CDOEXMServerType varServerType) = 0;
      virtual HRESULT WINAPI get_DirectoryServer(BSTR *varDirectoryServer) = 0;
      virtual HRESULT WINAPI GetInterface(BSTR Interface,IDispatch **ppUnknown) = 0;
    };
  #else
    typedef struct IExchangeServerVtbl {
      BEGIN_INTERFACE
        HRESULT (WINAPI *QueryInterface)(IExchangeServer *This,REFIID riid,void **ppvObject);
        ULONG (WINAPI *AddRef)(IExchangeServer *This);
        ULONG (WINAPI *Release)(IExchangeServer *This);
        HRESULT (WINAPI *GetTypeInfoCount)(IExchangeServer *This,UINT *pctinfo);
        HRESULT (WINAPI *GetTypeInfo)(IExchangeServer *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
        HRESULT (WINAPI *GetIDsOfNames)(IExchangeServer *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
        HRESULT (WINAPI *Invoke)(IExchangeServer *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
        HRESULT (WINAPI *get_DataSource)(IExchangeServer *This,IDataSource2 **varDataSource);
        HRESULT (WINAPI *get_Fields)(IExchangeServer *This,Fields **varFields);
        HRESULT (WINAPI *get_Name)(IExchangeServer *This,BSTR *varName);
        HRESULT (WINAPI *get_ExchangeVersion)(IExchangeServer *This,BSTR *varExchangeVersion);
        HRESULT (WINAPI *get_StorageGroups)(IExchangeServer *This,VARIANT *varStorageGroups);
        HRESULT (WINAPI *get_SubjectLoggingEnabled)(IExchangeServer *This,VARIANT_BOOL *pSubjectLoggingEnabled);
        HRESULT (WINAPI *put_SubjectLoggingEnabled)(IExchangeServer *This,VARIANT_BOOL varSubjectLoggingEnabled);
        HRESULT (WINAPI *get_MessageTrackingEnabled)(IExchangeServer *This,VARIANT_BOOL *pMessageTrackingEnabled);
        HRESULT (WINAPI *put_MessageTrackingEnabled)(IExchangeServer *This,VARIANT_BOOL varMessageTrackingEnabled);
        HRESULT (WINAPI *get_DaysBeforeLogFileRemoval)(IExchangeServer *This,long *pDaysBeforeLogFileRemoval);
        HRESULT (WINAPI *put_DaysBeforeLogFileRemoval)(IExchangeServer *This,long varDaysBeforeLogFileRemoval);
        HRESULT (WINAPI *get_ServerType)(IExchangeServer *This,CDOEXMServerType *pServerType);
        HRESULT (WINAPI *put_ServerType)(IExchangeServer *This,CDOEXMServerType varServerType);
        HRESULT (WINAPI *get_DirectoryServer)(IExchangeServer *This,BSTR *varDirectoryServer);
        HRESULT (WINAPI *GetInterface)(IExchangeServer *This,BSTR Interface,IDispatch **ppUnknown);
      END_INTERFACE
    } IExchangeServerVtbl;
    struct IExchangeServer {
      CONST_VTBL struct IExchangeServerVtbl *lpVtbl;
    };
  #ifdef COBJMACROS
  #define IExchangeServer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  #define IExchangeServer_AddRef(This) (This)->lpVtbl->AddRef(This)
  #define IExchangeServer_Release(This) (This)->lpVtbl->Release(This)
  #define IExchangeServer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  #define IExchangeServer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  #define IExchangeServer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  #define IExchangeServer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  #define IExchangeServer_get_DataSource(This,varDataSource) (This)->lpVtbl->get_DataSource(This,varDataSource)
  #define IExchangeServer_get_Fields(This,varFields) (This)->lpVtbl->get_Fields(This,varFields)
  #define IExchangeServer_get_Name(This,varName) (This)->lpVtbl->get_Name(This,varName)
  #define IExchangeServer_get_ExchangeVersion(This,varExchangeVersion) (This)->lpVtbl->get_ExchangeVersion(This,varExchangeVersion)
  #define IExchangeServer_get_StorageGroups(This,varStorageGroups) (This)->lpVtbl->get_StorageGroups(This,varStorageGroups)
  #define IExchangeServer_get_SubjectLoggingEnabled(This,pSubjectLoggingEnabled) (This)->lpVtbl->get_SubjectLoggingEnabled(This,pSubjectLoggingEnabled)
  #define IExchangeServer_put_SubjectLoggingEnabled(This,varSubjectLoggingEnabled) (This)->lpVtbl->put_SubjectLoggingEnabled(This,varSubjectLoggingEnabled)
  #define IExchangeServer_get_MessageTrackingEnabled(This,pMessageTrackingEnabled) (This)->lpVtbl->get_MessageTrackingEnabled(This,pMessageTrackingEnabled)
  #define IExchangeServer_put_MessageTrackingEnabled(This,varMessageTrackingEnabled) (This)->lpVtbl->put_MessageTrackingEnabled(This,varMessageTrackingEnabled)
  #define IExchangeServer_get_DaysBeforeLogFileRemoval(This,pDaysBeforeLogFileRemoval) (This)->lpVtbl->get_DaysBeforeLogFileRemoval(This,pDaysBeforeLogFileRemoval)
  #define IExchangeServer_put_DaysBeforeLogFileRemoval(This,varDaysBeforeLogFileRemoval) (This)->lpVtbl->put_DaysBeforeLogFileRemoval(This,varDaysBeforeLogFileRemoval)
  #define IExchangeServer_get_ServerType(This,pServerType) (This)->lpVtbl->get_ServerType(This,pServerType)
  #define IExchangeServer_put_ServerType(This,varServerType) (This)->lpVtbl->put_ServerType(This,varServerType)
  #define IExchangeServer_get_DirectoryServer(This,varDirectoryServer) (This)->lpVtbl->get_DirectoryServer(This,varDirectoryServer)
  #define IExchangeServer_GetInterface(This,Interface,ppUnknown) (This)->lpVtbl->GetInterface(This,Interface,ppUnknown)
  #endif
  #endif
    HRESULT WINAPI IExchangeServer_get_DataSource_Proxy(IExchangeServer *This,IDataSource2 **varDataSource);
    void __RPC_STUB IExchangeServer_get_DataSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_Fields_Proxy(IExchangeServer *This,Fields **varFields);
    void __RPC_STUB IExchangeServer_get_Fields_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_Name_Proxy(IExchangeServer *This,BSTR *varName);
    void __RPC_STUB IExchangeServer_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_ExchangeVersion_Proxy(IExchangeServer *This,BSTR *varExchangeVersion);
    void __RPC_STUB IExchangeServer_get_ExchangeVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_StorageGroups_Proxy(IExchangeServer *This,VARIANT *varStorageGroups);
    void __RPC_STUB IExchangeServer_get_StorageGroups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_SubjectLoggingEnabled_Proxy(IExchangeServer *This,VARIANT_BOOL *pSubjectLoggingEnabled);
    void __RPC_STUB IExchangeServer_get_SubjectLoggingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_put_SubjectLoggingEnabled_Proxy(IExchangeServer *This,VARIANT_BOOL varSubjectLoggingEnabled);
    void __RPC_STUB IExchangeServer_put_SubjectLoggingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_MessageTrackingEnabled_Proxy(IExchangeServer *This,VARIANT_BOOL *pMessageTrackingEnabled);
    void __RPC_STUB IExchangeServer_get_MessageTrackingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_put_MessageTrackingEnabled_Proxy(IExchangeServer *This,VARIANT_BOOL varMessageTrackingEnabled);
    void __RPC_STUB IExchangeServer_put_MessageTrackingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_DaysBeforeLogFileRemoval_Proxy(IExchangeServer *This,long *pDaysBeforeLogFileRemoval);
    void __RPC_STUB IExchangeServer_get_DaysBeforeLogFileRemoval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_put_DaysBeforeLogFileRemoval_Proxy(IExchangeServer *This,long varDaysBeforeLogFileRemoval);
    void __RPC_STUB IExchangeServer_put_DaysBeforeLogFileRemoval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_ServerType_Proxy(IExchangeServer *This,CDOEXMServerType *pServerType);
    void __RPC_STUB IExchangeServer_get_ServerType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_put_ServerType_Proxy(IExchangeServer *This,CDOEXMServerType varServerType);
    void __RPC_STUB IExchangeServer_put_ServerType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_get_DirectoryServer_Proxy(IExchangeServer *This,BSTR *varDirectoryServer);
    void __RPC_STUB IExchangeServer_get_DirectoryServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IExchangeServer_GetInterface_Proxy(IExchangeServer *This,BSTR Interface,IDispatch **ppUnknown);
    void __RPC_STUB IExchangeServer_GetInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  #endif
  
  #ifndef __IStorageGroup_INTERFACE_DEFINED__
  #define __IStorageGroup_INTERFACE_DEFINED__
    EXTERN_C const IID IID_IStorageGroup;
  #if defined(__cplusplus) && !defined(CINTERFACE)
    struct IStorageGroup : public IDispatch {
    public:
      virtual HRESULT WINAPI get_DataSource(IDataSource2 **varDataSource) = 0;
      virtual HRESULT WINAPI get_Fields(Fields **varFields) = 0;
      virtual HRESULT WINAPI get_Name(BSTR *pName) = 0;
      virtual HRESULT WINAPI put_Name(BSTR varName) = 0;
      virtual HRESULT WINAPI get_PublicStoreDBs(VARIANT *varPublicStoreDBs) = 0;
      virtual HRESULT WINAPI get_MailboxStoreDBs(VARIANT *varMailboxStoreDBs) = 0;
      virtual HRESULT WINAPI get_LogFilePath(BSTR *varLogFilePath) = 0;
      virtual HRESULT WINAPI get_SystemFilePath(BSTR *varSystemFilePath) = 0;
      virtual HRESULT WINAPI get_CircularLogging(VARIANT_BOOL *pCircularLogging) = 0;
      virtual HRESULT WINAPI put_CircularLogging(VARIANT_BOOL varCircularLogging) = 0;
      virtual HRESULT WINAPI get_ZeroDatabase(VARIANT_BOOL *pZeroDatabase) = 0;
      virtual HRESULT WINAPI put_ZeroDatabase(VARIANT_BOOL varZeroDatabase) = 0;
      virtual HRESULT WINAPI GetInterface(BSTR Interface,IDispatch **ppUnknown) = 0;
      virtual HRESULT WINAPI MoveLogFiles(BSTR LogFilePath,long Flags) = 0;
      virtual HRESULT WINAPI MoveSystemFiles(BSTR SystemFilePath,long Flags) = 0;
    };
  #else
    typedef struct IStorageGroupVtbl {
      BEGIN_INTERFACE
        HRESULT (WINAPI *QueryInterface)(IStorageGroup *This,REFIID riid,void **ppvObject);
        ULONG (WINAPI *AddRef)(IStorageGroup *This);
        ULONG (WINAPI *Release)(IStorageGroup *This);
        HRESULT (WINAPI *GetTypeInfoCount)(IStorageGroup *This,UINT *pctinfo);
        HRESULT (WINAPI *GetTypeInfo)(IStorageGroup *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
        HRESULT (WINAPI *GetIDsOfNames)(IStorageGroup *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
        HRESULT (WINAPI *Invoke)(IStorageGroup *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
        HRESULT (WINAPI *get_DataSource)(IStorageGroup *This,IDataSource2 **varDataSource);
        HRESULT (WINAPI *get_Fields)(IStorageGroup *This,Fields **varFields);
        HRESULT (WINAPI *get_Name)(IStorageGroup *This,BSTR *pName);
        HRESULT (WINAPI *put_Name)(IStorageGroup *This,BSTR varName);
        HRESULT (WINAPI *get_PublicStoreDBs)(IStorageGroup *This,VARIANT *varPublicStoreDBs);
        HRESULT (WINAPI *get_MailboxStoreDBs)(IStorageGroup *This,VARIANT *varMailboxStoreDBs);
        HRESULT (WINAPI *get_LogFilePath)(IStorageGroup *This,BSTR *varLogFilePath);
        HRESULT (WINAPI *get_SystemFilePath)(IStorageGroup *This,BSTR *varSystemFilePath);
        HRESULT (WINAPI *get_CircularLogging)(IStorageGroup *This,VARIANT_BOOL *pCircularLogging);
        HRESULT (WINAPI *put_CircularLogging)(IStorageGroup *This,VARIANT_BOOL varCircularLogging);
        HRESULT (WINAPI *get_ZeroDatabase)(IStorageGroup *This,VARIANT_BOOL *pZeroDatabase);
        HRESULT (WINAPI *put_ZeroDatabase)(IStorageGroup *This,VARIANT_BOOL varZeroDatabase);
        HRESULT (WINAPI *GetInterface)(IStorageGroup *This,BSTR Interface,IDispatch **ppUnknown);
        HRESULT (WINAPI *MoveLogFiles)(IStorageGroup *This,BSTR LogFilePath,long Flags);
        HRESULT (WINAPI *MoveSystemFiles)(IStorageGroup *This,BSTR SystemFilePath,long Flags);
      END_INTERFACE
    } IStorageGroupVtbl;
    struct IStorageGroup {
      CONST_VTBL struct IStorageGroupVtbl *lpVtbl;
    };
  #ifdef COBJMACROS
  #define IStorageGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  #define IStorageGroup_AddRef(This) (This)->lpVtbl->AddRef(This)
  #define IStorageGroup_Release(This) (This)->lpVtbl->Release(This)
  #define IStorageGroup_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  #define IStorageGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  #define IStorageGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  #define IStorageGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  #define IStorageGroup_get_DataSource(This,varDataSource) (This)->lpVtbl->get_DataSource(This,varDataSource)
  #define IStorageGroup_get_Fields(This,varFields) (This)->lpVtbl->get_Fields(This,varFields)
  #define IStorageGroup_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName)
  #define IStorageGroup_put_Name(This,varName) (This)->lpVtbl->put_Name(This,varName)
  #define IStorageGroup_get_PublicStoreDBs(This,varPublicStoreDBs) (This)->lpVtbl->get_PublicStoreDBs(This,varPublicStoreDBs)
  #define IStorageGroup_get_MailboxStoreDBs(This,varMailboxStoreDBs) (This)->lpVtbl->get_MailboxStoreDBs(This,varMailboxStoreDBs)
  #define IStorageGroup_get_LogFilePath(This,varLogFilePath) (This)->lpVtbl->get_LogFilePath(This,varLogFilePath)
  #define IStorageGroup_get_SystemFilePath(This,varSystemFilePath) (This)->lpVtbl->get_SystemFilePath(This,varSystemFilePath)
  #define IStorageGroup_get_CircularLogging(This,pCircularLogging) (This)->lpVtbl->get_CircularLogging(This,pCircularLogging)
  #define IStorageGroup_put_CircularLogging(This,varCircularLogging) (This)->lpVtbl->put_CircularLogging(This,varCircularLogging)
  #define IStorageGroup_get_ZeroDatabase(This,pZeroDatabase) (This)->lpVtbl->get_ZeroDatabase(This,pZeroDatabase)
  #define IStorageGroup_put_ZeroDatabase(This,varZeroDatabase) (This)->lpVtbl->put_ZeroDatabase(This,varZeroDatabase)
  #define IStorageGroup_GetInterface(This,Interface,ppUnknown) (This)->lpVtbl->GetInterface(This,Interface,ppUnknown)
  #define IStorageGroup_MoveLogFiles(This,LogFilePath,Flags) (This)->lpVtbl->MoveLogFiles(This,LogFilePath,Flags)
  #define IStorageGroup_MoveSystemFiles(This,SystemFilePath,Flags) (This)->lpVtbl->MoveSystemFiles(This,SystemFilePath,Flags)
  #endif
  #endif
    HRESULT WINAPI IStorageGroup_get_DataSource_Proxy(IStorageGroup *This,IDataSource2 **varDataSource);
    void __RPC_STUB IStorageGroup_get_DataSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_get_Fields_Proxy(IStorageGroup *This,Fields **varFields);
    void __RPC_STUB IStorageGroup_get_Fields_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_get_Name_Proxy(IStorageGroup *This,BSTR *pName);
    void __RPC_STUB IStorageGroup_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_put_Name_Proxy(IStorageGroup *This,BSTR varName);
    void __RPC_STUB IStorageGroup_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_get_PublicStoreDBs_Proxy(IStorageGroup *This,VARIANT *varPublicStoreDBs);
    void __RPC_STUB IStorageGroup_get_PublicStoreDBs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_get_MailboxStoreDBs_Proxy(IStorageGroup *This,VARIANT *varMailboxStoreDBs);
    void __RPC_STUB IStorageGroup_get_MailboxStoreDBs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_get_LogFilePath_Proxy(IStorageGroup *This,BSTR *varLogFilePath);
    void __RPC_STUB IStorageGroup_get_LogFilePath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_get_SystemFilePath_Proxy(IStorageGroup *This,BSTR *varSystemFilePath);
    void __RPC_STUB IStorageGroup_get_SystemFilePath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_get_CircularLogging_Proxy(IStorageGroup *This,VARIANT_BOOL *pCircularLogging);
    void __RPC_STUB IStorageGroup_get_CircularLogging_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_put_CircularLogging_Proxy(IStorageGroup *This,VARIANT_BOOL varCircularLogging);
    void __RPC_STUB IStorageGroup_put_CircularLogging_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_get_ZeroDatabase_Proxy(IStorageGroup *This,VARIANT_BOOL *pZeroDatabase);
    void __RPC_STUB IStorageGroup_get_ZeroDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_put_ZeroDatabase_Proxy(IStorageGroup *This,VARIANT_BOOL varZeroDatabase);
    void __RPC_STUB IStorageGroup_put_ZeroDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_GetInterface_Proxy(IStorageGroup *This,BSTR Interface,IDispatch **ppUnknown);
    void __RPC_STUB IStorageGroup_GetInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_MoveLogFiles_Proxy(IStorageGroup *This,BSTR LogFilePath,long Flags);
    void __RPC_STUB IStorageGroup_MoveLogFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IStorageGroup_MoveSystemFiles_Proxy(IStorageGroup *This,BSTR SystemFilePath,long Flags);
    void __RPC_STUB IStorageGroup_MoveSystemFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  #endif
  
  #ifndef __IPublicStoreDB_INTERFACE_DEFINED__
  #define __IPublicStoreDB_INTERFACE_DEFINED__
    EXTERN_C const IID IID_IPublicStoreDB;
  #if defined(__cplusplus) && !defined(CINTERFACE)
    struct IPublicStoreDB : public IDispatch {
    public:
      virtual HRESULT WINAPI get_DataSource(IDataSource2 **varDataSource) = 0;
      virtual HRESULT WINAPI get_Fields(Fields **varFields) = 0;
      virtual HRESULT WINAPI get_Name(BSTR *pName) = 0;
      virtual HRESULT WINAPI put_Name(BSTR varName) = 0;
      virtual HRESULT WINAPI get_FolderTree(BSTR *pFolderTree) = 0;
      virtual HRESULT WINAPI put_FolderTree(BSTR varFolderTree) = 0;
      virtual HRESULT WINAPI get_DBPath(BSTR *varDBPath) = 0;
      virtual HRESULT WINAPI get_SLVPath(BSTR *varSLVPath) = 0;
      virtual HRESULT WINAPI get_Status(CDOEXMStoreDBStatus *varStatus) = 0;
      virtual HRESULT WINAPI get_Enabled(VARIANT_BOOL *pEnabled) = 0;
      virtual HRESULT WINAPI put_Enabled(VARIANT_BOOL varEnabled) = 0;
      virtual HRESULT WINAPI get_StoreQuota(long *pStoreQuota) = 0;
      virtual HRESULT WINAPI put_StoreQuota(long varStoreQuota) = 0;
      virtual HRESULT WINAPI get_HardLimit(long *pHardLimit) = 0;
      virtual HRESULT WINAPI put_HardLimit(long varHardLimit) = 0;
      virtual HRESULT WINAPI get_ItemSizeLimit(long *pItemSizeLimit) = 0;
      virtual HRESULT WINAPI put_ItemSizeLimit(long varItemSizeLimit) = 0;
      virtual HRESULT WINAPI get_DaysBeforeItemExpiration(long *pDaysBeforeItemExpiration) = 0;
      virtual HRESULT WINAPI put_DaysBeforeItemExpiration(long varDaysBeforeItemExpiration) = 0;
      virtual HRESULT WINAPI get_DaysBeforeGarbageCollection(long *pDaysBeforeGarbageCollection) = 0;
      virtual HRESULT WINAPI put_DaysBeforeGarbageCollection(long varDaysBeforeGarbageCollection) = 0;
      virtual HRESULT WINAPI get_GarbageCollectOnlyAfterBackup(VARIANT_BOOL *pGarbageCollectOnlyAfterBackup) = 0;
      virtual HRESULT WINAPI put_GarbageCollectOnlyAfterBackup(VARIANT_BOOL varGarbageCollectOnlyAfterBackup) = 0;
      virtual HRESULT WINAPI GetInterface(BSTR Interface,IDispatch **ppUnknown) = 0;
      virtual HRESULT WINAPI MoveDataFiles(BSTR DBPath,BSTR SLVPath,long Flags) = 0;
      virtual HRESULT WINAPI Mount(long Timeout) = 0;
      virtual HRESULT WINAPI Dismount(long Timeout) = 0;
    };
  #else
    typedef struct IPublicStoreDBVtbl {
      BEGIN_INTERFACE
        HRESULT (WINAPI *QueryInterface)(IPublicStoreDB *This,REFIID riid,void **ppvObject);
        ULONG (WINAPI *AddRef)(IPublicStoreDB *This);
        ULONG (WINAPI *Release)(IPublicStoreDB *This);
        HRESULT (WINAPI *GetTypeInfoCount)(IPublicStoreDB *This,UINT *pctinfo);
        HRESULT (WINAPI *GetTypeInfo)(IPublicStoreDB *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
        HRESULT (WINAPI *GetIDsOfNames)(IPublicStoreDB *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
        HRESULT (WINAPI *Invoke)(IPublicStoreDB *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
        HRESULT (WINAPI *get_DataSource)(IPublicStoreDB *This,IDataSource2 **varDataSource);
        HRESULT (WINAPI *get_Fields)(IPublicStoreDB *This,Fields **varFields);
        HRESULT (WINAPI *get_Name)(IPublicStoreDB *This,BSTR *pName);
        HRESULT (WINAPI *put_Name)(IPublicStoreDB *This,BSTR varName);
        HRESULT (WINAPI *get_FolderTree)(IPublicStoreDB *This,BSTR *pFolderTree);
        HRESULT (WINAPI *put_FolderTree)(IPublicStoreDB *This,BSTR varFolderTree);
        HRESULT (WINAPI *get_DBPath)(IPublicStoreDB *This,BSTR *varDBPath);
        HRESULT (WINAPI *get_SLVPath)(IPublicStoreDB *This,BSTR *varSLVPath);
        HRESULT (WINAPI *get_Status)(IPublicStoreDB *This,CDOEXMStoreDBStatus *varStatus);
        HRESULT (WINAPI *get_Enabled)(IPublicStoreDB *This,VARIANT_BOOL *pEnabled);
        HRESULT (WINAPI *put_Enabled)(IPublicStoreDB *This,VARIANT_BOOL varEnabled);
        HRESULT (WINAPI *get_StoreQuota)(IPublicStoreDB *This,long *pStoreQuota);
        HRESULT (WINAPI *put_StoreQuota)(IPublicStoreDB *This,long varStoreQuota);
        HRESULT (WINAPI *get_HardLimit)(IPublicStoreDB *This,long *pHardLimit);
        HRESULT (WINAPI *put_HardLimit)(IPublicStoreDB *This,long varHardLimit);
        HRESULT (WINAPI *get_ItemSizeLimit)(IPublicStoreDB *This,long *pItemSizeLimit);
        HRESULT (WINAPI *put_ItemSizeLimit)(IPublicStoreDB *This,long varItemSizeLimit);
        HRESULT (WINAPI *get_DaysBeforeItemExpiration)(IPublicStoreDB *This,long *pDaysBeforeItemExpiration);
        HRESULT (WINAPI *put_DaysBeforeItemExpiration)(IPublicStoreDB *This,long varDaysBeforeItemExpiration);
        HRESULT (WINAPI *get_DaysBeforeGarbageCollection)(IPublicStoreDB *This,long *pDaysBeforeGarbageCollection);
        HRESULT (WINAPI *put_DaysBeforeGarbageCollection)(IPublicStoreDB *This,long varDaysBeforeGarbageCollection);
        HRESULT (WINAPI *get_GarbageCollectOnlyAfterBackup)(IPublicStoreDB *This,VARIANT_BOOL *pGarbageCollectOnlyAfterBackup);
        HRESULT (WINAPI *put_GarbageCollectOnlyAfterBackup)(IPublicStoreDB *This,VARIANT_BOOL varGarbageCollectOnlyAfterBackup);
        HRESULT (WINAPI *GetInterface)(IPublicStoreDB *This,BSTR Interface,IDispatch **ppUnknown);
        HRESULT (WINAPI *MoveDataFiles)(IPublicStoreDB *This,BSTR DBPath,BSTR SLVPath,long Flags);
        HRESULT (WINAPI *Mount)(IPublicStoreDB *This,long Timeout);
        HRESULT (WINAPI *Dismount)(IPublicStoreDB *This,long Timeout);
      END_INTERFACE
    } IPublicStoreDBVtbl;
    struct IPublicStoreDB {
      CONST_VTBL struct IPublicStoreDBVtbl *lpVtbl;
    };
  #ifdef COBJMACROS
  #define IPublicStoreDB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  #define IPublicStoreDB_AddRef(This) (This)->lpVtbl->AddRef(This)
  #define IPublicStoreDB_Release(This) (This)->lpVtbl->Release(This)
  #define IPublicStoreDB_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  #define IPublicStoreDB_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  #define IPublicStoreDB_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  #define IPublicStoreDB_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  #define IPublicStoreDB_get_DataSource(This,varDataSource) (This)->lpVtbl->get_DataSource(This,varDataSource)
  #define IPublicStoreDB_get_Fields(This,varFields) (This)->lpVtbl->get_Fields(This,varFields)
  #define IPublicStoreDB_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName)
  #define IPublicStoreDB_put_Name(This,varName) (This)->lpVtbl->put_Name(This,varName)
  #define IPublicStoreDB_get_FolderTree(This,pFolderTree) (This)->lpVtbl->get_FolderTree(This,pFolderTree)
  #define IPublicStoreDB_put_FolderTree(This,varFolderTree) (This)->lpVtbl->put_FolderTree(This,varFolderTree)
  #define IPublicStoreDB_get_DBPath(This,varDBPath) (This)->lpVtbl->get_DBPath(This,varDBPath)
  #define IPublicStoreDB_get_SLVPath(This,varSLVPath) (This)->lpVtbl->get_SLVPath(This,varSLVPath)
  #define IPublicStoreDB_get_Status(This,varStatus) (This)->lpVtbl->get_Status(This,varStatus)
  #define IPublicStoreDB_get_Enabled(This,pEnabled) (This)->lpVtbl->get_Enabled(This,pEnabled)
  #define IPublicStoreDB_put_Enabled(This,varEnabled) (This)->lpVtbl->put_Enabled(This,varEnabled)
  #define IPublicStoreDB_get_StoreQuota(This,pStoreQuota) (This)->lpVtbl->get_StoreQuota(This,pStoreQuota)
  #define IPublicStoreDB_put_StoreQuota(This,varStoreQuota) (This)->lpVtbl->put_StoreQuota(This,varStoreQuota)
  #define IPublicStoreDB_get_HardLimit(This,pHardLimit) (This)->lpVtbl->get_HardLimit(This,pHardLimit)
  #define IPublicStoreDB_put_HardLimit(This,varHardLimit) (This)->lpVtbl->put_HardLimit(This,varHardLimit)
  #define IPublicStoreDB_get_ItemSizeLimit(This,pItemSizeLimit) (This)->lpVtbl->get_ItemSizeLimit(This,pItemSizeLimit)
  #define IPublicStoreDB_put_ItemSizeLimit(This,varItemSizeLimit) (This)->lpVtbl->put_ItemSizeLimit(This,varItemSizeLimit)
  #define IPublicStoreDB_get_DaysBeforeItemExpiration(This,pDaysBeforeItemExpiration) (This)->lpVtbl->get_DaysBeforeItemExpiration(This,pDaysBeforeItemExpiration)
  #define IPublicStoreDB_put_DaysBeforeItemExpiration(This,varDaysBeforeItemExpiration) (This)->lpVtbl->put_DaysBeforeItemExpiration(This,varDaysBeforeItemExpiration)
  #define IPublicStoreDB_get_DaysBeforeGarbageCollection(This,pDaysBeforeGarbageCollection) (This)->lpVtbl->get_DaysBeforeGarbageCollection(This,pDaysBeforeGarbageCollection)
  #define IPublicStoreDB_put_DaysBeforeGarbageCollection(This,varDaysBeforeGarbageCollection) (This)->lpVtbl->put_DaysBeforeGarbageCollection(This,varDaysBeforeGarbageCollection)
  #define IPublicStoreDB_get_GarbageCollectOnlyAfterBackup(This,pGarbageCollectOnlyAfterBackup) (This)->lpVtbl->get_GarbageCollectOnlyAfterBackup(This,pGarbageCollectOnlyAfterBackup)
  #define IPublicStoreDB_put_GarbageCollectOnlyAfterBackup(This,varGarbageCollectOnlyAfterBackup) (This)->lpVtbl->put_GarbageCollectOnlyAfterBackup(This,varGarbageCollectOnlyAfterBackup)
  #define IPublicStoreDB_GetInterface(This,Interface,ppUnknown) (This)->lpVtbl->GetInterface(This,Interface,ppUnknown)
  #define IPublicStoreDB_MoveDataFiles(This,DBPath,SLVPath,Flags) (This)->lpVtbl->MoveDataFiles(This,DBPath,SLVPath,Flags)
  #define IPublicStoreDB_Mount(This,Timeout) (This)->lpVtbl->Mount(This,Timeout)
  #define IPublicStoreDB_Dismount(This,Timeout) (This)->lpVtbl->Dismount(This,Timeout)
  #endif
  #endif
    HRESULT WINAPI IPublicStoreDB_get_DataSource_Proxy(IPublicStoreDB *This,IDataSource2 **varDataSource);
    void __RPC_STUB IPublicStoreDB_get_DataSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_Fields_Proxy(IPublicStoreDB *This,Fields **varFields);
    void __RPC_STUB IPublicStoreDB_get_Fields_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_Name_Proxy(IPublicStoreDB *This,BSTR *pName);
    void __RPC_STUB IPublicStoreDB_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_Name_Proxy(IPublicStoreDB *This,BSTR varName);
    void __RPC_STUB IPublicStoreDB_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_FolderTree_Proxy(IPublicStoreDB *This,BSTR *pFolderTree);
    void __RPC_STUB IPublicStoreDB_get_FolderTree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_FolderTree_Proxy(IPublicStoreDB *This,BSTR varFolderTree);
    void __RPC_STUB IPublicStoreDB_put_FolderTree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_DBPath_Proxy(IPublicStoreDB *This,BSTR *varDBPath);
    void __RPC_STUB IPublicStoreDB_get_DBPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_SLVPath_Proxy(IPublicStoreDB *This,BSTR *varSLVPath);
    void __RPC_STUB IPublicStoreDB_get_SLVPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_Status_Proxy(IPublicStoreDB *This,CDOEXMStoreDBStatus *varStatus);
    void __RPC_STUB IPublicStoreDB_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_Enabled_Proxy(IPublicStoreDB *This,VARIANT_BOOL *pEnabled);
    void __RPC_STUB IPublicStoreDB_get_Enabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_Enabled_Proxy(IPublicStoreDB *This,VARIANT_BOOL varEnabled);
    void __RPC_STUB IPublicStoreDB_put_Enabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_StoreQuota_Proxy(IPublicStoreDB *This,long *pStoreQuota);
    void __RPC_STUB IPublicStoreDB_get_StoreQuota_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_StoreQuota_Proxy(IPublicStoreDB *This,long varStoreQuota);
    void __RPC_STUB IPublicStoreDB_put_StoreQuota_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_HardLimit_Proxy(IPublicStoreDB *This,long *pHardLimit);
    void __RPC_STUB IPublicStoreDB_get_HardLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_HardLimit_Proxy(IPublicStoreDB *This,long varHardLimit);
    void __RPC_STUB IPublicStoreDB_put_HardLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_ItemSizeLimit_Proxy(IPublicStoreDB *This,long *pItemSizeLimit);
    void __RPC_STUB IPublicStoreDB_get_ItemSizeLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_ItemSizeLimit_Proxy(IPublicStoreDB *This,long varItemSizeLimit);
    void __RPC_STUB IPublicStoreDB_put_ItemSizeLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_DaysBeforeItemExpiration_Proxy(IPublicStoreDB *This,long *pDaysBeforeItemExpiration);
    void __RPC_STUB IPublicStoreDB_get_DaysBeforeItemExpiration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_DaysBeforeItemExpiration_Proxy(IPublicStoreDB *This,long varDaysBeforeItemExpiration);
    void __RPC_STUB IPublicStoreDB_put_DaysBeforeItemExpiration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_DaysBeforeGarbageCollection_Proxy(IPublicStoreDB *This,long *pDaysBeforeGarbageCollection);
    void __RPC_STUB IPublicStoreDB_get_DaysBeforeGarbageCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_DaysBeforeGarbageCollection_Proxy(IPublicStoreDB *This,long varDaysBeforeGarbageCollection);
    void __RPC_STUB IPublicStoreDB_put_DaysBeforeGarbageCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_get_GarbageCollectOnlyAfterBackup_Proxy(IPublicStoreDB *This,VARIANT_BOOL *pGarbageCollectOnlyAfterBackup);
    void __RPC_STUB IPublicStoreDB_get_GarbageCollectOnlyAfterBackup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_put_GarbageCollectOnlyAfterBackup_Proxy(IPublicStoreDB *This,VARIANT_BOOL varGarbageCollectOnlyAfterBackup);
    void __RPC_STUB IPublicStoreDB_put_GarbageCollectOnlyAfterBackup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_GetInterface_Proxy(IPublicStoreDB *This,BSTR Interface,IDispatch **ppUnknown);
    void __RPC_STUB IPublicStoreDB_GetInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_MoveDataFiles_Proxy(IPublicStoreDB *This,BSTR DBPath,BSTR SLVPath,long Flags);
    void __RPC_STUB IPublicStoreDB_MoveDataFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_Mount_Proxy(IPublicStoreDB *This,long Timeout);
    void __RPC_STUB IPublicStoreDB_Mount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IPublicStoreDB_Dismount_Proxy(IPublicStoreDB *This,long Timeout);
    void __RPC_STUB IPublicStoreDB_Dismount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  #endif
  
  #ifndef __IMailboxStoreDB_INTERFACE_DEFINED__
  #define __IMailboxStoreDB_INTERFACE_DEFINED__
    EXTERN_C const IID IID_IMailboxStoreDB;
  #if defined(__cplusplus) && !defined(CINTERFACE)
    struct IMailboxStoreDB : public IDispatch {
    public:
      virtual HRESULT WINAPI get_DataSource(IDataSource2 **varDataSource) = 0;
      virtual HRESULT WINAPI get_Fields(Fields **varFields) = 0;
      virtual HRESULT WINAPI get_Name(BSTR *pName) = 0;
      virtual HRESULT WINAPI put_Name(BSTR varName) = 0;
      virtual HRESULT WINAPI get_PublicStoreDB(BSTR *pPublicStoreDB) = 0;
      virtual HRESULT WINAPI put_PublicStoreDB(BSTR varPublicStoreDB) = 0;
      virtual HRESULT WINAPI get_OfflineAddressList(BSTR *pOfflineAddressList) = 0;
      virtual HRESULT WINAPI put_OfflineAddressList(BSTR varOfflineAddressList) = 0;
      virtual HRESULT WINAPI get_DBPath(BSTR *varDBPath) = 0;
      virtual HRESULT WINAPI get_SLVPath(BSTR *varSLVPath) = 0;
      virtual HRESULT WINAPI get_Status(CDOEXMStoreDBStatus *varStatus) = 0;
      virtual HRESULT WINAPI get_Enabled(VARIANT_BOOL *pEnabled) = 0;
      virtual HRESULT WINAPI put_Enabled(VARIANT_BOOL varEnabled) = 0;
      virtual HRESULT WINAPI get_StoreQuota(long *pStoreQuota) = 0;
      virtual HRESULT WINAPI put_StoreQuota(long varStoreQuota) = 0;
      virtual HRESULT WINAPI get_OverQuotaLimit(long *pOverQuotaLimit) = 0;
      virtual HRESULT WINAPI put_OverQuotaLimit(long varOverQuotaLimit) = 0;
      virtual HRESULT WINAPI get_HardLimit(long *pHardLimit) = 0;
      virtual HRESULT WINAPI put_HardLimit(long varHardLimit) = 0;
      virtual HRESULT WINAPI get_DaysBeforeGarbageCollection(long *pDaysBeforeGarbageCollection) = 0;
      virtual HRESULT WINAPI put_DaysBeforeGarbageCollection(long varDaysBeforeGarbageCollection) = 0;
      virtual HRESULT WINAPI get_DaysBeforeDeletedMailboxCleanup(long *pDaysBeforeDeletedMailboxCleanup) = 0;
      virtual HRESULT WINAPI put_DaysBeforeDeletedMailboxCleanup(long varDaysBeforeDeletedMailboxCleanup) = 0;
      virtual HRESULT WINAPI get_GarbageCollectOnlyAfterBackup(VARIANT_BOOL *pGarbageCollectOnlyAfterBackup) = 0;
      virtual HRESULT WINAPI put_GarbageCollectOnlyAfterBackup(VARIANT_BOOL varGarbageCollectOnlyAfterBackup) = 0;
      virtual HRESULT WINAPI GetInterface(BSTR Interface,IDispatch **ppUnknown) = 0;
      virtual HRESULT WINAPI MoveDataFiles(BSTR DBPath,BSTR SLVPath,long Flags) = 0;
      virtual HRESULT WINAPI Mount(long Timeout) = 0;
      virtual HRESULT WINAPI Dismount(long Timeout) = 0;
    };
  #else
    typedef struct IMailboxStoreDBVtbl {
      BEGIN_INTERFACE
        HRESULT (WINAPI *QueryInterface)(IMailboxStoreDB *This,REFIID riid,void **ppvObject);
        ULONG (WINAPI *AddRef)(IMailboxStoreDB *This);
        ULONG (WINAPI *Release)(IMailboxStoreDB *This);
        HRESULT (WINAPI *GetTypeInfoCount)(IMailboxStoreDB *This,UINT *pctinfo);
        HRESULT (WINAPI *GetTypeInfo)(IMailboxStoreDB *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
        HRESULT (WINAPI *GetIDsOfNames)(IMailboxStoreDB *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
        HRESULT (WINAPI *Invoke)(IMailboxStoreDB *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
        HRESULT (WINAPI *get_DataSource)(IMailboxStoreDB *This,IDataSource2 **varDataSource);
        HRESULT (WINAPI *get_Fields)(IMailboxStoreDB *This,Fields **varFields);
        HRESULT (WINAPI *get_Name)(IMailboxStoreDB *This,BSTR *pName);
        HRESULT (WINAPI *put_Name)(IMailboxStoreDB *This,BSTR varName);
        HRESULT (WINAPI *get_PublicStoreDB)(IMailboxStoreDB *This,BSTR *pPublicStoreDB);
        HRESULT (WINAPI *put_PublicStoreDB)(IMailboxStoreDB *This,BSTR varPublicStoreDB);
        HRESULT (WINAPI *get_OfflineAddressList)(IMailboxStoreDB *This,BSTR *pOfflineAddressList);
        HRESULT (WINAPI *put_OfflineAddressList)(IMailboxStoreDB *This,BSTR varOfflineAddressList);
        HRESULT (WINAPI *get_DBPath)(IMailboxStoreDB *This,BSTR *varDBPath);
        HRESULT (WINAPI *get_SLVPath)(IMailboxStoreDB *This,BSTR *varSLVPath);
        HRESULT (WINAPI *get_Status)(IMailboxStoreDB *This,CDOEXMStoreDBStatus *varStatus);
        HRESULT (WINAPI *get_Enabled)(IMailboxStoreDB *This,VARIANT_BOOL *pEnabled);
        HRESULT (WINAPI *put_Enabled)(IMailboxStoreDB *This,VARIANT_BOOL varEnabled);
        HRESULT (WINAPI *get_StoreQuota)(IMailboxStoreDB *This,long *pStoreQuota);
        HRESULT (WINAPI *put_StoreQuota)(IMailboxStoreDB *This,long varStoreQuota);
        HRESULT (WINAPI *get_OverQuotaLimit)(IMailboxStoreDB *This,long *pOverQuotaLimit);
        HRESULT (WINAPI *put_OverQuotaLimit)(IMailboxStoreDB *This,long varOverQuotaLimit);
        HRESULT (WINAPI *get_HardLimit)(IMailboxStoreDB *This,long *pHardLimit);
        HRESULT (WINAPI *put_HardLimit)(IMailboxStoreDB *This,long varHardLimit);
        HRESULT (WINAPI *get_DaysBeforeGarbageCollection)(IMailboxStoreDB *This,long *pDaysBeforeGarbageCollection);
        HRESULT (WINAPI *put_DaysBeforeGarbageCollection)(IMailboxStoreDB *This,long varDaysBeforeGarbageCollection);
        HRESULT (WINAPI *get_DaysBeforeDeletedMailboxCleanup)(IMailboxStoreDB *This,long *pDaysBeforeDeletedMailboxCleanup);
        HRESULT (WINAPI *put_DaysBeforeDeletedMailboxCleanup)(IMailboxStoreDB *This,long varDaysBeforeDeletedMailboxCleanup);
        HRESULT (WINAPI *get_GarbageCollectOnlyAfterBackup)(IMailboxStoreDB *This,VARIANT_BOOL *pGarbageCollectOnlyAfterBackup);
        HRESULT (WINAPI *put_GarbageCollectOnlyAfterBackup)(IMailboxStoreDB *This,VARIANT_BOOL varGarbageCollectOnlyAfterBackup);
        HRESULT (WINAPI *GetInterface)(IMailboxStoreDB *This,BSTR Interface,IDispatch **ppUnknown);
        HRESULT (WINAPI *MoveDataFiles)(IMailboxStoreDB *This,BSTR DBPath,BSTR SLVPath,long Flags);
        HRESULT (WINAPI *Mount)(IMailboxStoreDB *This,long Timeout);
        HRESULT (WINAPI *Dismount)(IMailboxStoreDB *This,long Timeout);
      END_INTERFACE
    } IMailboxStoreDBVtbl;
    struct IMailboxStoreDB {
      CONST_VTBL struct IMailboxStoreDBVtbl *lpVtbl;
    };
  #ifdef COBJMACROS
  #define IMailboxStoreDB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  #define IMailboxStoreDB_AddRef(This) (This)->lpVtbl->AddRef(This)
  #define IMailboxStoreDB_Release(This) (This)->lpVtbl->Release(This)
  #define IMailboxStoreDB_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  #define IMailboxStoreDB_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  #define IMailboxStoreDB_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  #define IMailboxStoreDB_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  #define IMailboxStoreDB_get_DataSource(This,varDataSource) (This)->lpVtbl->get_DataSource(This,varDataSource)
  #define IMailboxStoreDB_get_Fields(This,varFields) (This)->lpVtbl->get_Fields(This,varFields)
  #define IMailboxStoreDB_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName)
  #define IMailboxStoreDB_put_Name(This,varName) (This)->lpVtbl->put_Name(This,varName)
  #define IMailboxStoreDB_get_PublicStoreDB(This,pPublicStoreDB) (This)->lpVtbl->get_PublicStoreDB(This,pPublicStoreDB)
  #define IMailboxStoreDB_put_PublicStoreDB(This,varPublicStoreDB) (This)->lpVtbl->put_PublicStoreDB(This,varPublicStoreDB)
  #define IMailboxStoreDB_get_OfflineAddressList(This,pOfflineAddressList) (This)->lpVtbl->get_OfflineAddressList(This,pOfflineAddressList)
  #define IMailboxStoreDB_put_OfflineAddressList(This,varOfflineAddressList) (This)->lpVtbl->put_OfflineAddressList(This,varOfflineAddressList)
  #define IMailboxStoreDB_get_DBPath(This,varDBPath) (This)->lpVtbl->get_DBPath(This,varDBPath)
  #define IMailboxStoreDB_get_SLVPath(This,varSLVPath) (This)->lpVtbl->get_SLVPath(This,varSLVPath)
  #define IMailboxStoreDB_get_Status(This,varStatus) (This)->lpVtbl->get_Status(This,varStatus)
  #define IMailboxStoreDB_get_Enabled(This,pEnabled) (This)->lpVtbl->get_Enabled(This,pEnabled)
  #define IMailboxStoreDB_put_Enabled(This,varEnabled) (This)->lpVtbl->put_Enabled(This,varEnabled)
  #define IMailboxStoreDB_get_StoreQuota(This,pStoreQuota) (This)->lpVtbl->get_StoreQuota(This,pStoreQuota)
  #define IMailboxStoreDB_put_StoreQuota(This,varStoreQuota) (This)->lpVtbl->put_StoreQuota(This,varStoreQuota)
  #define IMailboxStoreDB_get_OverQuotaLimit(This,pOverQuotaLimit) (This)->lpVtbl->get_OverQuotaLimit(This,pOverQuotaLimit)
  #define IMailboxStoreDB_put_OverQuotaLimit(This,varOverQuotaLimit) (This)->lpVtbl->put_OverQuotaLimit(This,varOverQuotaLimit)
  #define IMailboxStoreDB_get_HardLimit(This,pHardLimit) (This)->lpVtbl->get_HardLimit(This,pHardLimit)
  #define IMailboxStoreDB_put_HardLimit(This,varHardLimit) (This)->lpVtbl->put_HardLimit(This,varHardLimit)
  #define IMailboxStoreDB_get_DaysBeforeGarbageCollection(This,pDaysBeforeGarbageCollection) (This)->lpVtbl->get_DaysBeforeGarbageCollection(This,pDaysBeforeGarbageCollection)
  #define IMailboxStoreDB_put_DaysBeforeGarbageCollection(This,varDaysBeforeGarbageCollection) (This)->lpVtbl->put_DaysBeforeGarbageCollection(This,varDaysBeforeGarbageCollection)
  #define IMailboxStoreDB_get_DaysBeforeDeletedMailboxCleanup(This,pDaysBeforeDeletedMailboxCleanup) (This)->lpVtbl->get_DaysBeforeDeletedMailboxCleanup(This,pDaysBeforeDeletedMailboxCleanup)
  #define IMailboxStoreDB_put_DaysBeforeDeletedMailboxCleanup(This,varDaysBeforeDeletedMailboxCleanup) (This)->lpVtbl->put_DaysBeforeDeletedMailboxCleanup(This,varDaysBeforeDeletedMailboxCleanup)
  #define IMailboxStoreDB_get_GarbageCollectOnlyAfterBackup(This,pGarbageCollectOnlyAfterBackup) (This)->lpVtbl->get_GarbageCollectOnlyAfterBackup(This,pGarbageCollectOnlyAfterBackup)
  #define IMailboxStoreDB_put_GarbageCollectOnlyAfterBackup(This,varGarbageCollectOnlyAfterBackup) (This)->lpVtbl->put_GarbageCollectOnlyAfterBackup(This,varGarbageCollectOnlyAfterBackup)
  #define IMailboxStoreDB_GetInterface(This,Interface,ppUnknown) (This)->lpVtbl->GetInterface(This,Interface,ppUnknown)
  #define IMailboxStoreDB_MoveDataFiles(This,DBPath,SLVPath,Flags) (This)->lpVtbl->MoveDataFiles(This,DBPath,SLVPath,Flags)
  #define IMailboxStoreDB_Mount(This,Timeout) (This)->lpVtbl->Mount(This,Timeout)
  #define IMailboxStoreDB_Dismount(This,Timeout) (This)->lpVtbl->Dismount(This,Timeout)
  #endif
  #endif
    HRESULT WINAPI IMailboxStoreDB_get_DataSource_Proxy(IMailboxStoreDB *This,IDataSource2 **varDataSource);
    void __RPC_STUB IMailboxStoreDB_get_DataSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_Fields_Proxy(IMailboxStoreDB *This,Fields **varFields);
    void __RPC_STUB IMailboxStoreDB_get_Fields_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_Name_Proxy(IMailboxStoreDB *This,BSTR *pName);
    void __RPC_STUB IMailboxStoreDB_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_Name_Proxy(IMailboxStoreDB *This,BSTR varName);
    void __RPC_STUB IMailboxStoreDB_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_PublicStoreDB_Proxy(IMailboxStoreDB *This,BSTR *pPublicStoreDB);
    void __RPC_STUB IMailboxStoreDB_get_PublicStoreDB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_PublicStoreDB_Proxy(IMailboxStoreDB *This,BSTR varPublicStoreDB);
    void __RPC_STUB IMailboxStoreDB_put_PublicStoreDB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_OfflineAddressList_Proxy(IMailboxStoreDB *This,BSTR *pOfflineAddressList);
    void __RPC_STUB IMailboxStoreDB_get_OfflineAddressList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_OfflineAddressList_Proxy(IMailboxStoreDB *This,BSTR varOfflineAddressList);
    void __RPC_STUB IMailboxStoreDB_put_OfflineAddressList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_DBPath_Proxy(IMailboxStoreDB *This,BSTR *varDBPath);
    void __RPC_STUB IMailboxStoreDB_get_DBPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_SLVPath_Proxy(IMailboxStoreDB *This,BSTR *varSLVPath);
    void __RPC_STUB IMailboxStoreDB_get_SLVPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_Status_Proxy(IMailboxStoreDB *This,CDOEXMStoreDBStatus *varStatus);
    void __RPC_STUB IMailboxStoreDB_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_Enabled_Proxy(IMailboxStoreDB *This,VARIANT_BOOL *pEnabled);
    void __RPC_STUB IMailboxStoreDB_get_Enabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_Enabled_Proxy(IMailboxStoreDB *This,VARIANT_BOOL varEnabled);
    void __RPC_STUB IMailboxStoreDB_put_Enabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_StoreQuota_Proxy(IMailboxStoreDB *This,long *pStoreQuota);
    void __RPC_STUB IMailboxStoreDB_get_StoreQuota_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_StoreQuota_Proxy(IMailboxStoreDB *This,long varStoreQuota);
    void __RPC_STUB IMailboxStoreDB_put_StoreQuota_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_OverQuotaLimit_Proxy(IMailboxStoreDB *This,long *pOverQuotaLimit);
    void __RPC_STUB IMailboxStoreDB_get_OverQuotaLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_OverQuotaLimit_Proxy(IMailboxStoreDB *This,long varOverQuotaLimit);
    void __RPC_STUB IMailboxStoreDB_put_OverQuotaLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_HardLimit_Proxy(IMailboxStoreDB *This,long *pHardLimit);
    void __RPC_STUB IMailboxStoreDB_get_HardLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_HardLimit_Proxy(IMailboxStoreDB *This,long varHardLimit);
    void __RPC_STUB IMailboxStoreDB_put_HardLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_DaysBeforeGarbageCollection_Proxy(IMailboxStoreDB *This,long *pDaysBeforeGarbageCollection);
    void __RPC_STUB IMailboxStoreDB_get_DaysBeforeGarbageCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_DaysBeforeGarbageCollection_Proxy(IMailboxStoreDB *This,long varDaysBeforeGarbageCollection);
    void __RPC_STUB IMailboxStoreDB_put_DaysBeforeGarbageCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_DaysBeforeDeletedMailboxCleanup_Proxy(IMailboxStoreDB *This,long *pDaysBeforeDeletedMailboxCleanup);
    void __RPC_STUB IMailboxStoreDB_get_DaysBeforeDeletedMailboxCleanup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_DaysBeforeDeletedMailboxCleanup_Proxy(IMailboxStoreDB *This,long varDaysBeforeDeletedMailboxCleanup);
    void __RPC_STUB IMailboxStoreDB_put_DaysBeforeDeletedMailboxCleanup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_get_GarbageCollectOnlyAfterBackup_Proxy(IMailboxStoreDB *This,VARIANT_BOOL *pGarbageCollectOnlyAfterBackup);
    void __RPC_STUB IMailboxStoreDB_get_GarbageCollectOnlyAfterBackup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_put_GarbageCollectOnlyAfterBackup_Proxy(IMailboxStoreDB *This,VARIANT_BOOL varGarbageCollectOnlyAfterBackup);
    void __RPC_STUB IMailboxStoreDB_put_GarbageCollectOnlyAfterBackup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_GetInterface_Proxy(IMailboxStoreDB *This,BSTR Interface,IDispatch **ppUnknown);
    void __RPC_STUB IMailboxStoreDB_GetInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_MoveDataFiles_Proxy(IMailboxStoreDB *This,BSTR DBPath,BSTR SLVPath,long Flags);
    void __RPC_STUB IMailboxStoreDB_MoveDataFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_Mount_Proxy(IMailboxStoreDB *This,long Timeout);
    void __RPC_STUB IMailboxStoreDB_Mount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IMailboxStoreDB_Dismount_Proxy(IMailboxStoreDB *This,long Timeout);
    void __RPC_STUB IMailboxStoreDB_Dismount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  #endif
  
  #ifndef __IFolderTree_INTERFACE_DEFINED__
  #define __IFolderTree_INTERFACE_DEFINED__
    EXTERN_C const IID IID_IFolderTree;
  #if defined(__cplusplus) && !defined(CINTERFACE)
    struct IFolderTree : public IDispatch {
    public:
      virtual HRESULT WINAPI get_DataSource(IDataSource2 **varDataSource) = 0;
      virtual HRESULT WINAPI get_Fields(Fields **varFields) = 0;
      virtual HRESULT WINAPI get_Name(BSTR *pName) = 0;
      virtual HRESULT WINAPI put_Name(BSTR varName) = 0;
      virtual HRESULT WINAPI get_StoreDBs(VARIANT *varStoreDBs) = 0;
      virtual HRESULT WINAPI get_TreeType(CDOEXMFolderTreeType *varTreeType) = 0;
      virtual HRESULT WINAPI get_RootFolderURL(BSTR *varRootFolderURL) = 0;
      virtual HRESULT WINAPI GetInterface(BSTR Interface,IDispatch **ppUnknown) = 0;
    };
  #else
    typedef struct IFolderTreeVtbl {
      BEGIN_INTERFACE
        HRESULT (WINAPI *QueryInterface)(IFolderTree *This,REFIID riid,void **ppvObject);
        ULONG (WINAPI *AddRef)(IFolderTree *This);
        ULONG (WINAPI *Release)(IFolderTree *This);
        HRESULT (WINAPI *GetTypeInfoCount)(IFolderTree *This,UINT *pctinfo);
        HRESULT (WINAPI *GetTypeInfo)(IFolderTree *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
        HRESULT (WINAPI *GetIDsOfNames)(IFolderTree *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
        HRESULT (WINAPI *Invoke)(IFolderTree *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
        HRESULT (WINAPI *get_DataSource)(IFolderTree *This,IDataSource2 **varDataSource);
        HRESULT (WINAPI *get_Fields)(IFolderTree *This,Fields **varFields);
        HRESULT (WINAPI *get_Name)(IFolderTree *This,BSTR *pName);
        HRESULT (WINAPI *put_Name)(IFolderTree *This,BSTR varName);
        HRESULT (WINAPI *get_StoreDBs)(IFolderTree *This,VARIANT *varStoreDBs);
        HRESULT (WINAPI *get_TreeType)(IFolderTree *This,CDOEXMFolderTreeType *varTreeType);
        HRESULT (WINAPI *get_RootFolderURL)(IFolderTree *This,BSTR *varRootFolderURL);
        HRESULT (WINAPI *GetInterface)(IFolderTree *This,BSTR Interface,IDispatch **ppUnknown);
      END_INTERFACE
    } IFolderTreeVtbl;
    struct IFolderTree {
      CONST_VTBL struct IFolderTreeVtbl *lpVtbl;
    };
  #ifdef COBJMACROS
  #define IFolderTree_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  #define IFolderTree_AddRef(This) (This)->lpVtbl->AddRef(This)
  #define IFolderTree_Release(This) (This)->lpVtbl->Release(This)
  #define IFolderTree_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  #define IFolderTree_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  #define IFolderTree_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  #define IFolderTree_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  #define IFolderTree_get_DataSource(This,varDataSource) (This)->lpVtbl->get_DataSource(This,varDataSource)
  #define IFolderTree_get_Fields(This,varFields) (This)->lpVtbl->get_Fields(This,varFields)
  #define IFolderTree_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName)
  #define IFolderTree_put_Name(This,varName) (This)->lpVtbl->put_Name(This,varName)
  #define IFolderTree_get_StoreDBs(This,varStoreDBs) (This)->lpVtbl->get_StoreDBs(This,varStoreDBs)
  #define IFolderTree_get_TreeType(This,varTreeType) (This)->lpVtbl->get_TreeType(This,varTreeType)
  #define IFolderTree_get_RootFolderURL(This,varRootFolderURL) (This)->lpVtbl->get_RootFolderURL(This,varRootFolderURL)
  #define IFolderTree_GetInterface(This,Interface,ppUnknown) (This)->lpVtbl->GetInterface(This,Interface,ppUnknown)
  #endif
  #endif
    HRESULT WINAPI IFolderTree_get_DataSource_Proxy(IFolderTree *This,IDataSource2 **varDataSource);
    void __RPC_STUB IFolderTree_get_DataSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IFolderTree_get_Fields_Proxy(IFolderTree *This,Fields **varFields);
    void __RPC_STUB IFolderTree_get_Fields_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IFolderTree_get_Name_Proxy(IFolderTree *This,BSTR *pName);
    void __RPC_STUB IFolderTree_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IFolderTree_put_Name_Proxy(IFolderTree *This,BSTR varName);
    void __RPC_STUB IFolderTree_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IFolderTree_get_StoreDBs_Proxy(IFolderTree *This,VARIANT *varStoreDBs);
    void __RPC_STUB IFolderTree_get_StoreDBs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IFolderTree_get_TreeType_Proxy(IFolderTree *This,CDOEXMFolderTreeType *varTreeType);
    void __RPC_STUB IFolderTree_get_TreeType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IFolderTree_get_RootFolderURL_Proxy(IFolderTree *This,BSTR *varRootFolderURL);
    void __RPC_STUB IFolderTree_get_RootFolderURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IFolderTree_GetInterface_Proxy(IFolderTree *This,BSTR Interface,IDispatch **ppUnknown);
    void __RPC_STUB IFolderTree_GetInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  #endif
  
  #ifndef __IDataSource2_INTERFACE_DEFINED__
  #define __IDataSource2_INTERFACE_DEFINED__
    EXTERN_C const IID IID_IDataSource2;
  #if defined(__cplusplus) && !defined(CINTERFACE)
    struct IDataSource2 : public IDataSource {
    public:
      virtual HRESULT WINAPI Delete(void) = 0;
      virtual HRESULT WINAPI MoveToContainer(BSTR ContainerURL) = 0;
    };
  #else
    typedef struct IDataSource2Vtbl {
      BEGIN_INTERFACE
        HRESULT (WINAPI *QueryInterface)(IDataSource2 *This,REFIID riid,void **ppvObject);
        ULONG (WINAPI *AddRef)(IDataSource2 *This);
        ULONG (WINAPI *Release)(IDataSource2 *This);
        HRESULT (WINAPI *GetTypeInfoCount)(IDataSource2 *This,UINT *pctinfo);
        HRESULT (WINAPI *GetTypeInfo)(IDataSource2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
        HRESULT (WINAPI *GetIDsOfNames)(IDataSource2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
        HRESULT (WINAPI *Invoke)(IDataSource2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
        HRESULT (WINAPI *get_SourceClass)(IDataSource2 *This,BSTR *varSourceClass);
        HRESULT (WINAPI *get_Source)(IDataSource2 *This,IUnknown **varSource);
        HRESULT (WINAPI *get_IsDirty)(IDataSource2 *This,VARIANT_BOOL *pIsDirty);
        HRESULT (WINAPI *put_IsDirty)(IDataSource2 *This,VARIANT_BOOL varIsDirty);
        HRESULT (WINAPI *get_SourceURL)(IDataSource2 *This,BSTR *varSourceURL);
        HRESULT (WINAPI *get_ActiveConnection)(IDataSource2 *This,_Connection **varActiveConnection);
        HRESULT (WINAPI *SaveToObject)(IDataSource2 *This,IUnknown *Source,BSTR InterfaceName);
        HRESULT (WINAPI *OpenObject)(IDataSource2 *This,IUnknown *Source,BSTR InterfaceName);
        HRESULT (WINAPI *SaveTo)(IDataSource2 *This,BSTR SourceURL,IDispatch *ActiveConnection,ConnectModeEnum Mode,RecordCreateOptionsEnum CreateOptions,RecordOpenOptionsEnum Options,BSTR UserName,BSTR Password);
        HRESULT (WINAPI *Open)(IDataSource2 *This,BSTR SourceURL,IDispatch *ActiveConnection,ConnectModeEnum Mode,RecordCreateOptionsEnum CreateOptions,RecordOpenOptionsEnum Options,BSTR UserName,BSTR Password);
        HRESULT (WINAPI *Save)(IDataSource2 *This);
        HRESULT (WINAPI *SaveToContainer)(IDataSource2 *This,BSTR ContainerURL,IDispatch *ActiveConnection,ConnectModeEnum Mode,RecordCreateOptionsEnum CreateOptions,RecordOpenOptionsEnum Options,BSTR UserName,BSTR Password);
        HRESULT (WINAPI *Delete)(IDataSource2 *This);
        HRESULT (WINAPI *MoveToContainer)(IDataSource2 *This,BSTR ContainerURL);
      END_INTERFACE
    } IDataSource2Vtbl;
    struct IDataSource2 {
      CONST_VTBL struct IDataSource2Vtbl *lpVtbl;
    };
  #ifdef COBJMACROS
  #define IDataSource2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  #define IDataSource2_AddRef(This) (This)->lpVtbl->AddRef(This)
  #define IDataSource2_Release(This) (This)->lpVtbl->Release(This)
  #define IDataSource2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  #define IDataSource2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  #define IDataSource2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  #define IDataSource2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  #define IDataSource2_get_SourceClass(This,varSourceClass) (This)->lpVtbl->get_SourceClass(This,varSourceClass)
  #define IDataSource2_get_Source(This,varSource) (This)->lpVtbl->get_Source(This,varSource)
  #define IDataSource2_get_IsDirty(This,pIsDirty) (This)->lpVtbl->get_IsDirty(This,pIsDirty)
  #define IDataSource2_put_IsDirty(This,varIsDirty) (This)->lpVtbl->put_IsDirty(This,varIsDirty)
  #define IDataSource2_get_SourceURL(This,varSourceURL) (This)->lpVtbl->get_SourceURL(This,varSourceURL)
  #define IDataSource2_get_ActiveConnection(This,varActiveConnection) (This)->lpVtbl->get_ActiveConnection(This,varActiveConnection)
  #define IDataSource2_SaveToObject(This,Source,InterfaceName) (This)->lpVtbl->SaveToObject(This,Source,InterfaceName)
  #define IDataSource2_OpenObject(This,Source,InterfaceName) (This)->lpVtbl->OpenObject(This,Source,InterfaceName)
  #define IDataSource2_SaveTo(This,SourceURL,ActiveConnection,Mode,CreateOptions,Options,UserName,Password) (This)->lpVtbl->SaveTo(This,SourceURL,ActiveConnection,Mode,CreateOptions,Options,UserName,Password)
  #define IDataSource2_Open(This,SourceURL,ActiveConnection,Mode,CreateOptions,Options,UserName,Password) (This)->lpVtbl->Open(This,SourceURL,ActiveConnection,Mode,CreateOptions,Options,UserName,Password)
  #define IDataSource2_Save(This) (This)->lpVtbl->Save(This)
  #define IDataSource2_SaveToContainer(This,ContainerURL,ActiveConnection,Mode,CreateOptions,Options,UserName,Password) (This)->lpVtbl->SaveToContainer(This,ContainerURL,ActiveConnection,Mode,CreateOptions,Options,UserName,Password)
  #define IDataSource2_Delete(This) (This)->lpVtbl->Delete(This)
  #define IDataSource2_MoveToContainer(This,ContainerURL) (This)->lpVtbl->MoveToContainer(This,ContainerURL)
  #endif
  #endif
    HRESULT WINAPI IDataSource2_Delete_Proxy(IDataSource2 *This);
    void __RPC_STUB IDataSource2_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    HRESULT WINAPI IDataSource2_MoveToContainer_Proxy(IDataSource2 *This,BSTR ContainerURL);
    void __RPC_STUB IDataSource2_MoveToContainer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  #endif
  
    unsigned long __RPC_API BSTR_UserSize(unsigned long *,unsigned long,BSTR *);
    unsigned char *__RPC_API BSTR_UserMarshal(unsigned long *,unsigned char *,BSTR *);
    unsigned char *__RPC_API BSTR_UserUnmarshal(unsigned long *,unsigned char *,BSTR *);
    void __RPC_API BSTR_UserFree(unsigned long *,BSTR *);
    unsigned long __RPC_API VARIANT_UserSize(unsigned long *,unsigned long,VARIANT *);
    unsigned char *__RPC_API VARIANT_UserMarshal(unsigned long *,unsigned char *,VARIANT *);
    unsigned char *__RPC_API VARIANT_UserUnmarshal(unsigned long *,unsigned char *,VARIANT *);
    void __RPC_API VARIANT_UserFree(unsigned long *,VARIANT *);
  
  #ifdef __cplusplus
  }
  #endif
  #endif
  