

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Tue Apr 01 12:25:19 2025
 */
/* Compiler settings for .\CaoSQL.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __CaoSQL_h__
#define __CaoSQL_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __ICaoSQLEngine_FWD_DEFINED__
#define __ICaoSQLEngine_FWD_DEFINED__
typedef interface ICaoSQLEngine ICaoSQLEngine;
#endif 	/* __ICaoSQLEngine_FWD_DEFINED__ */


#ifndef __ICaoSQLController_FWD_DEFINED__
#define __ICaoSQLController_FWD_DEFINED__
typedef interface ICaoSQLController ICaoSQLController;
#endif 	/* __ICaoSQLController_FWD_DEFINED__ */


#ifndef __ICaoSQLItem_FWD_DEFINED__
#define __ICaoSQLItem_FWD_DEFINED__
typedef interface ICaoSQLItem ICaoSQLItem;
#endif 	/* __ICaoSQLItem_FWD_DEFINED__ */


#ifndef __ICaoSQLHistory_FWD_DEFINED__
#define __ICaoSQLHistory_FWD_DEFINED__
typedef interface ICaoSQLHistory ICaoSQLHistory;
#endif 	/* __ICaoSQLHistory_FWD_DEFINED__ */


#ifndef __IRACEventSink_FWD_DEFINED__
#define __IRACEventSink_FWD_DEFINED__
typedef interface IRACEventSink IRACEventSink;
#endif 	/* __IRACEventSink_FWD_DEFINED__ */


#ifndef __ICoAPEventSink_FWD_DEFINED__
#define __ICoAPEventSink_FWD_DEFINED__
typedef interface ICoAPEventSink ICoAPEventSink;
#endif 	/* __ICoAPEventSink_FWD_DEFINED__ */


#ifndef __ICaoControllerEventSink_FWD_DEFINED__
#define __ICaoControllerEventSink_FWD_DEFINED__
typedef interface ICaoControllerEventSink ICaoControllerEventSink;
#endif 	/* __ICaoControllerEventSink_FWD_DEFINED__ */


#ifndef __ICaoSQLMessage_FWD_DEFINED__
#define __ICaoSQLMessage_FWD_DEFINED__
typedef interface ICaoSQLMessage ICaoSQLMessage;
#endif 	/* __ICaoSQLMessage_FWD_DEFINED__ */


#ifndef __CaoSQLEngine_FWD_DEFINED__
#define __CaoSQLEngine_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoSQLEngine CaoSQLEngine;
#else
typedef struct CaoSQLEngine CaoSQLEngine;
#endif /* __cplusplus */

#endif 	/* __CaoSQLEngine_FWD_DEFINED__ */


#ifndef ___ICaoSQLControllerEvents_FWD_DEFINED__
#define ___ICaoSQLControllerEvents_FWD_DEFINED__
typedef interface _ICaoSQLControllerEvents _ICaoSQLControllerEvents;
#endif 	/* ___ICaoSQLControllerEvents_FWD_DEFINED__ */


#ifndef __IRACSever_FWD_DEFINED__
#define __IRACSever_FWD_DEFINED__
typedef interface IRACSever IRACSever;
#endif 	/* __IRACSever_FWD_DEFINED__ */


#ifndef __ICoAPSever_FWD_DEFINED__
#define __ICoAPSever_FWD_DEFINED__
typedef interface ICoAPSever ICoAPSever;
#endif 	/* __ICoAPSever_FWD_DEFINED__ */


#ifndef __CaoSQLController_FWD_DEFINED__
#define __CaoSQLController_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoSQLController CaoSQLController;
#else
typedef struct CaoSQLController CaoSQLController;
#endif /* __cplusplus */

#endif 	/* __CaoSQLController_FWD_DEFINED__ */


#ifndef __CaoSQLItem_FWD_DEFINED__
#define __CaoSQLItem_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoSQLItem CaoSQLItem;
#else
typedef struct CaoSQLItem CaoSQLItem;
#endif /* __cplusplus */

#endif 	/* __CaoSQLItem_FWD_DEFINED__ */


#ifndef __CaoSQLHistory_FWD_DEFINED__
#define __CaoSQLHistory_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoSQLHistory CaoSQLHistory;
#else
typedef struct CaoSQLHistory CaoSQLHistory;
#endif /* __cplusplus */

#endif 	/* __CaoSQLHistory_FWD_DEFINED__ */


#ifndef __RACEventSink_FWD_DEFINED__
#define __RACEventSink_FWD_DEFINED__

#ifdef __cplusplus
typedef class RACEventSink RACEventSink;
#else
typedef struct RACEventSink RACEventSink;
#endif /* __cplusplus */

#endif 	/* __RACEventSink_FWD_DEFINED__ */


#ifndef __CoAPEventSink_FWD_DEFINED__
#define __CoAPEventSink_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoAPEventSink CoAPEventSink;
#else
typedef struct CoAPEventSink CoAPEventSink;
#endif /* __cplusplus */

#endif 	/* __CoAPEventSink_FWD_DEFINED__ */


#ifndef __CaoControllerEventSink_FWD_DEFINED__
#define __CaoControllerEventSink_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoControllerEventSink CaoControllerEventSink;
#else
typedef struct CaoControllerEventSink CaoControllerEventSink;
#endif /* __cplusplus */

#endif 	/* __CaoControllerEventSink_FWD_DEFINED__ */


#ifndef __CaoSQLMessage_FWD_DEFINED__
#define __CaoSQLMessage_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoSQLMessage CaoSQLMessage;
#else
typedef struct CaoSQLMessage CaoSQLMessage;
#endif /* __cplusplus */

#endif 	/* __CaoSQLMessage_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf_CaoSQL_0000 */
/* [local] */ 






typedef 
enum enmCaoVariableClass
    {	csVarClassController	= 0,
	csVarClassTask	= 1,
	csVarClassRobot	= 2,
	csVarClassExtension	= 3,
	csVarClassFile	= 4
    } 	_enmCaoVariableClass;

typedef 
enum enmCaoSQLCtrlState
    {	csCtrlThreadUninit	= 0,
	csCtrlThreadActive	= 0x1,
	csCtrlThreadDeactive	= 0x2,
	csCtrlThreadError	= 0x3,
	csCtrlThreadTerminated	= 0x4,
	csCtrlThreadConnectTimeoutWaiting	= 0x5,
	csCtrlThreadSamplingThreadWaiting	= 0x6,
	csCtrlThreadAborted	= 0x7
    } 	_enmCaoSQLCtrlState;

typedef 
enum enmCaoSQLCtrlScantime
    {	csCtrlScantimeLast	= 0,
	csCtrlScantimeMin	= 0x1,
	csCtrlScantimeMax	= 0x2
    } 	_enmCaoSQLCtrlScantime;

typedef 
enum enmCaoSQLItemState
    {	csItemSucceeded	= 0,
	csItemFailed	= 0x1,
	csItemUndefined	= 0x2
    } 	_enmCaoSQLItemState;

typedef 
enum enmCaoSQLItemAttribute
    {	csItemReadWrite	= 0,
	csItemReadOnly	= 0x1,
	csItemWriteOnly	= 0x2
    } 	_enmCaoSQLItemAttribute;



extern RPC_IF_HANDLE __MIDL_itf_CaoSQL_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_CaoSQL_0000_v0_0_s_ifspec;

#ifndef __ICaoSQLEngine_INTERFACE_DEFINED__
#define __ICaoSQLEngine_INTERFACE_DEFINED__

/* interface ICaoSQLEngine */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoSQLEngine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("82353932-2585-4f53-9412-5858D1B9DFE0")
    ICaoSQLEngine : public IDispatch
    {
    public:
        virtual /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Controller( 
            /* [in] */ VARIANT vntIndex,
            /* [retval][out] */ ICaoSQLController **ppICSCtrl) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Snapshot( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ BSTR bstrCmdText,
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CaoSQLHistory( 
            /* [retval][out] */ ICaoSQLHistory **ppICSHstry) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ControllerNames( 
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoSQLEngineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICaoSQLEngine * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICaoSQLEngine * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICaoSQLEngine * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICaoSQLEngine * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICaoSQLEngine * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICaoSQLEngine * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICaoSQLEngine * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [restricted][helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            ICaoSQLEngine * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Controller )( 
            ICaoSQLEngine * This,
            /* [in] */ VARIANT vntIndex,
            /* [retval][out] */ ICaoSQLController **ppICSCtrl);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            ICaoSQLEngine * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICaoSQLEngine * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Snapshot )( 
            ICaoSQLEngine * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            ICaoSQLEngine * This,
            /* [in] */ BSTR bstrCmdText,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CaoSQLHistory )( 
            ICaoSQLEngine * This,
            /* [retval][out] */ ICaoSQLHistory **ppICSHstry);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControllerNames )( 
            ICaoSQLEngine * This,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICaoSQLEngine * This,
            /* [retval][out] */ long *plVal);
        
        END_INTERFACE
    } ICaoSQLEngineVtbl;

    interface ICaoSQLEngine
    {
        CONST_VTBL struct ICaoSQLEngineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoSQLEngine_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoSQLEngine_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoSQLEngine_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoSQLEngine_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoSQLEngine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoSQLEngine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoSQLEngine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoSQLEngine_get__NewEnum(This,pVal)	\
    (This)->lpVtbl -> get__NewEnum(This,pVal)

#define ICaoSQLEngine_Controller(This,vntIndex,ppICSCtrl)	\
    (This)->lpVtbl -> Controller(This,vntIndex,ppICSCtrl)

#define ICaoSQLEngine_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define ICaoSQLEngine_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define ICaoSQLEngine_Snapshot(This)	\
    (This)->lpVtbl -> Snapshot(This)

#define ICaoSQLEngine_Execute(This,bstrCmdText,pvntVal)	\
    (This)->lpVtbl -> Execute(This,bstrCmdText,pvntVal)

#define ICaoSQLEngine_get_CaoSQLHistory(This,ppICSHstry)	\
    (This)->lpVtbl -> get_CaoSQLHistory(This,ppICSHstry)

#define ICaoSQLEngine_get_ControllerNames(This,pvntVal)	\
    (This)->lpVtbl -> get_ControllerNames(This,pvntVal)

#define ICaoSQLEngine_get_Count(This,plVal)	\
    (This)->lpVtbl -> get_Count(This,plVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_get__NewEnum_Proxy( 
    ICaoSQLEngine * This,
    /* [retval][out] */ LPUNKNOWN *pVal);


void __RPC_STUB ICaoSQLEngine_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_Controller_Proxy( 
    ICaoSQLEngine * This,
    /* [in] */ VARIANT vntIndex,
    /* [retval][out] */ ICaoSQLController **ppICSCtrl);


void __RPC_STUB ICaoSQLEngine_Controller_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_Start_Proxy( 
    ICaoSQLEngine * This);


void __RPC_STUB ICaoSQLEngine_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_Stop_Proxy( 
    ICaoSQLEngine * This);


void __RPC_STUB ICaoSQLEngine_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_Snapshot_Proxy( 
    ICaoSQLEngine * This);


void __RPC_STUB ICaoSQLEngine_Snapshot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_Execute_Proxy( 
    ICaoSQLEngine * This,
    /* [in] */ BSTR bstrCmdText,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLEngine_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_get_CaoSQLHistory_Proxy( 
    ICaoSQLEngine * This,
    /* [retval][out] */ ICaoSQLHistory **ppICSHstry);


void __RPC_STUB ICaoSQLEngine_get_CaoSQLHistory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_get_ControllerNames_Proxy( 
    ICaoSQLEngine * This,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLEngine_get_ControllerNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLEngine_get_Count_Proxy( 
    ICaoSQLEngine * This,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLEngine_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoSQLEngine_INTERFACE_DEFINED__ */


#ifndef __ICaoSQLController_INTERFACE_DEFINED__
#define __ICaoSQLController_INTERFACE_DEFINED__

/* interface ICaoSQLController */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoSQLController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1C61BAA2-7E70-44e9-8160-EB349ED2C0D8")
    ICaoSQLController : public IDispatch
    {
    public:
        virtual /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT vntIndex,
            /* [retval][out] */ ICaoSQLItem **ppICSItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Snapshot( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddItem( 
            /* [in] */ VARIANT vntDataArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveItem( 
            /* [in] */ VARIANT vntIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ItemNames( 
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScanTimes( 
            /* [in] */ long lIndex,
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Tag( 
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Tag( 
            /* [in] */ VARIANT vntNewVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SettingData( 
            /* [in] */ VARIANT vntName,
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SettingData( 
            /* [in] */ VARIANT vntName,
            /* [in] */ VARIANT vntNewVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoSQLControllerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICaoSQLController * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICaoSQLController * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICaoSQLController * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICaoSQLController * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICaoSQLController * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICaoSQLController * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICaoSQLController * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [restricted][helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            ICaoSQLController * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            ICaoSQLController * This,
            /* [in] */ VARIANT vntIndex,
            /* [retval][out] */ ICaoSQLItem **ppICSItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            ICaoSQLController * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICaoSQLController * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Snapshot )( 
            ICaoSQLController * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddItem )( 
            ICaoSQLController * This,
            /* [in] */ VARIANT vntDataArray);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveItem )( 
            ICaoSQLController * This,
            /* [in] */ VARIANT vntIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            ICaoSQLController * This,
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICaoSQLController * This,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            ICaoSQLController * This,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemNames )( 
            ICaoSQLController * This,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScanTimes )( 
            ICaoSQLController * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ICaoSQLController * This,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            ICaoSQLController * This,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Tag )( 
            ICaoSQLController * This,
            /* [in] */ VARIANT vntNewVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            ICaoSQLController * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICaoSQLController * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SettingData )( 
            ICaoSQLController * This,
            /* [in] */ VARIANT vntName,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SettingData )( 
            ICaoSQLController * This,
            /* [in] */ VARIANT vntName,
            /* [in] */ VARIANT vntNewVal);
        
        END_INTERFACE
    } ICaoSQLControllerVtbl;

    interface ICaoSQLController
    {
        CONST_VTBL struct ICaoSQLControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoSQLController_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoSQLController_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoSQLController_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoSQLController_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoSQLController_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoSQLController_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoSQLController_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoSQLController_get__NewEnum(This,pVal)	\
    (This)->lpVtbl -> get__NewEnum(This,pVal)

#define ICaoSQLController_Item(This,vntIndex,ppICSItem)	\
    (This)->lpVtbl -> Item(This,vntIndex,ppICSItem)

#define ICaoSQLController_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define ICaoSQLController_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define ICaoSQLController_Snapshot(This)	\
    (This)->lpVtbl -> Snapshot(This)

#define ICaoSQLController_AddItem(This,vntDataArray)	\
    (This)->lpVtbl -> AddItem(This,vntDataArray)

#define ICaoSQLController_RemoveItem(This,vntIndex)	\
    (This)->lpVtbl -> RemoveItem(This,vntIndex)

#define ICaoSQLController_Execute(This,bstrCommand,vntParam,pvntVal)	\
    (This)->lpVtbl -> Execute(This,bstrCommand,vntParam,pvntVal)

#define ICaoSQLController_get_Count(This,plVal)	\
    (This)->lpVtbl -> get_Count(This,plVal)

#define ICaoSQLController_get_Index(This,plVal)	\
    (This)->lpVtbl -> get_Index(This,plVal)

#define ICaoSQLController_get_ItemNames(This,pvntVal)	\
    (This)->lpVtbl -> get_ItemNames(This,pvntVal)

#define ICaoSQLController_get_ScanTimes(This,lIndex,plVal)	\
    (This)->lpVtbl -> get_ScanTimes(This,lIndex,plVal)

#define ICaoSQLController_get_State(This,plVal)	\
    (This)->lpVtbl -> get_State(This,plVal)

#define ICaoSQLController_get_Tag(This,pvntVal)	\
    (This)->lpVtbl -> get_Tag(This,pvntVal)

#define ICaoSQLController_put_Tag(This,vntNewVal)	\
    (This)->lpVtbl -> put_Tag(This,vntNewVal)

#define ICaoSQLController_get_Description(This,pbstrVal)	\
    (This)->lpVtbl -> get_Description(This,pbstrVal)

#define ICaoSQLController_get_Name(This,pbstrVal)	\
    (This)->lpVtbl -> get_Name(This,pbstrVal)

#define ICaoSQLController_get_SettingData(This,vntName,pvntVal)	\
    (This)->lpVtbl -> get_SettingData(This,vntName,pvntVal)

#define ICaoSQLController_put_SettingData(This,vntName,vntNewVal)	\
    (This)->lpVtbl -> put_SettingData(This,vntName,vntNewVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get__NewEnum_Proxy( 
    ICaoSQLController * This,
    /* [retval][out] */ LPUNKNOWN *pVal);


void __RPC_STUB ICaoSQLController_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_Item_Proxy( 
    ICaoSQLController * This,
    /* [in] */ VARIANT vntIndex,
    /* [retval][out] */ ICaoSQLItem **ppICSItem);


void __RPC_STUB ICaoSQLController_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_Start_Proxy( 
    ICaoSQLController * This);


void __RPC_STUB ICaoSQLController_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_Stop_Proxy( 
    ICaoSQLController * This);


void __RPC_STUB ICaoSQLController_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_Snapshot_Proxy( 
    ICaoSQLController * This);


void __RPC_STUB ICaoSQLController_Snapshot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_AddItem_Proxy( 
    ICaoSQLController * This,
    /* [in] */ VARIANT vntDataArray);


void __RPC_STUB ICaoSQLController_AddItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_RemoveItem_Proxy( 
    ICaoSQLController * This,
    /* [in] */ VARIANT vntIndex);


void __RPC_STUB ICaoSQLController_RemoveItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_Execute_Proxy( 
    ICaoSQLController * This,
    /* [in] */ BSTR bstrCommand,
    /* [optional][in] */ VARIANT vntParam,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLController_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_Count_Proxy( 
    ICaoSQLController * This,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLController_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_Index_Proxy( 
    ICaoSQLController * This,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLController_get_Index_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_ItemNames_Proxy( 
    ICaoSQLController * This,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLController_get_ItemNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_ScanTimes_Proxy( 
    ICaoSQLController * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLController_get_ScanTimes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_State_Proxy( 
    ICaoSQLController * This,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLController_get_State_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_Tag_Proxy( 
    ICaoSQLController * This,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLController_get_Tag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_put_Tag_Proxy( 
    ICaoSQLController * This,
    /* [in] */ VARIANT vntNewVal);


void __RPC_STUB ICaoSQLController_put_Tag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_Description_Proxy( 
    ICaoSQLController * This,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB ICaoSQLController_get_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_Name_Proxy( 
    ICaoSQLController * This,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB ICaoSQLController_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_get_SettingData_Proxy( 
    ICaoSQLController * This,
    /* [in] */ VARIANT vntName,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLController_get_SettingData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLController_put_SettingData_Proxy( 
    ICaoSQLController * This,
    /* [in] */ VARIANT vntName,
    /* [in] */ VARIANT vntNewVal);


void __RPC_STUB ICaoSQLController_put_SettingData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoSQLController_INTERFACE_DEFINED__ */


#ifndef __ICaoSQLItem_INTERFACE_DEFINED__
#define __ICaoSQLItem_INTERFACE_DEFINED__

/* interface ICaoSQLItem */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoSQLItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A49597A1-5DF3-4c09-9339-3FFF80A6B69F")
    ICaoSQLItem : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ VARIANT vntNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Snapshot( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Activation( 
            /* [retval][out] */ VARIANT_BOOL *pbVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Activation( 
            /* [in] */ VARIANT_BOOL bNewVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateTime( 
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinkActivation( 
            /* [retval][out] */ VARIANT_BOOL *pbVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinkActivation( 
            /* [in] */ VARIANT_BOOL bNewVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Microsecond( 
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Tag( 
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Tag( 
            /* [in] */ VARIANT vntNewVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ValueEx( 
            /* [defaultvalue][in] */ long lDelay,
            /* [in] */ VARIANT vntNewVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Element( 
            /* [in] */ long lIndex1,
            /* [defaultvalue][in] */ long lIndex2,
            /* [defaultvalue][in] */ long lIndex3,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Element( 
            /* [in] */ long lIndex1,
            /* [defaultvalue][in] */ long lIndex2,
            /* [defaultvalue][in] */ long lIndex3,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinkItemNames( 
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SettingData( 
            /* [in] */ VARIANT vntName,
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SettingData( 
            /* [in] */ VARIANT vntName,
            /* [in] */ VARIANT vntNewVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrevValue( 
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoSQLItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICaoSQLItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICaoSQLItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICaoSQLItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICaoSQLItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICaoSQLItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICaoSQLItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICaoSQLItem * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            ICaoSQLItem * This,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            ICaoSQLItem * This,
            /* [in] */ VARIANT vntNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Snapshot )( 
            ICaoSQLItem * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Activation )( 
            ICaoSQLItem * This,
            /* [retval][out] */ VARIANT_BOOL *pbVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Activation )( 
            ICaoSQLItem * This,
            /* [in] */ VARIANT_BOOL bNewVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateTime )( 
            ICaoSQLItem * This,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            ICaoSQLItem * This,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinkActivation )( 
            ICaoSQLItem * This,
            /* [retval][out] */ VARIANT_BOOL *pbVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinkActivation )( 
            ICaoSQLItem * This,
            /* [in] */ VARIANT_BOOL bNewVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Microsecond )( 
            ICaoSQLItem * This,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ICaoSQLItem * This,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            ICaoSQLItem * This,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Tag )( 
            ICaoSQLItem * This,
            /* [in] */ VARIANT vntNewVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ValueEx )( 
            ICaoSQLItem * This,
            /* [defaultvalue][in] */ long lDelay,
            /* [in] */ VARIANT vntNewVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            ICaoSQLItem * This,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            ICaoSQLItem * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Element )( 
            ICaoSQLItem * This,
            /* [in] */ long lIndex1,
            /* [defaultvalue][in] */ long lIndex2,
            /* [defaultvalue][in] */ long lIndex3,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Element )( 
            ICaoSQLItem * This,
            /* [in] */ long lIndex1,
            /* [defaultvalue][in] */ long lIndex2,
            /* [defaultvalue][in] */ long lIndex3,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            ICaoSQLItem * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ID )( 
            ICaoSQLItem * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinkItemNames )( 
            ICaoSQLItem * This,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICaoSQLItem * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SettingData )( 
            ICaoSQLItem * This,
            /* [in] */ VARIANT vntName,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SettingData )( 
            ICaoSQLItem * This,
            /* [in] */ VARIANT vntName,
            /* [in] */ VARIANT vntNewVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrevValue )( 
            ICaoSQLItem * This,
            /* [retval][out] */ VARIANT *pvntVal);
        
        END_INTERFACE
    } ICaoSQLItemVtbl;

    interface ICaoSQLItem
    {
        CONST_VTBL struct ICaoSQLItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoSQLItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoSQLItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoSQLItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoSQLItem_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoSQLItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoSQLItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoSQLItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoSQLItem_get_Value(This,pvntVal)	\
    (This)->lpVtbl -> get_Value(This,pvntVal)

#define ICaoSQLItem_put_Value(This,vntNewVal)	\
    (This)->lpVtbl -> put_Value(This,vntNewVal)

#define ICaoSQLItem_Snapshot(This)	\
    (This)->lpVtbl -> Snapshot(This)

#define ICaoSQLItem_get_Activation(This,pbVal)	\
    (This)->lpVtbl -> get_Activation(This,pbVal)

#define ICaoSQLItem_put_Activation(This,bNewVal)	\
    (This)->lpVtbl -> put_Activation(This,bNewVal)

#define ICaoSQLItem_get_DateTime(This,pvntVal)	\
    (This)->lpVtbl -> get_DateTime(This,pvntVal)

#define ICaoSQLItem_get_Index(This,plVal)	\
    (This)->lpVtbl -> get_Index(This,plVal)

#define ICaoSQLItem_get_LinkActivation(This,pbVal)	\
    (This)->lpVtbl -> get_LinkActivation(This,pbVal)

#define ICaoSQLItem_put_LinkActivation(This,bNewVal)	\
    (This)->lpVtbl -> put_LinkActivation(This,bNewVal)

#define ICaoSQLItem_get_Microsecond(This,plVal)	\
    (This)->lpVtbl -> get_Microsecond(This,plVal)

#define ICaoSQLItem_get_State(This,plVal)	\
    (This)->lpVtbl -> get_State(This,plVal)

#define ICaoSQLItem_get_Tag(This,pvntVal)	\
    (This)->lpVtbl -> get_Tag(This,pvntVal)

#define ICaoSQLItem_put_Tag(This,vntNewVal)	\
    (This)->lpVtbl -> put_Tag(This,vntNewVal)

#define ICaoSQLItem_put_ValueEx(This,lDelay,vntNewVal)	\
    (This)->lpVtbl -> put_ValueEx(This,lDelay,vntNewVal)

#define ICaoSQLItem_get_Attribute(This,plVal)	\
    (This)->lpVtbl -> get_Attribute(This,plVal)

#define ICaoSQLItem_get_Description(This,pbstrVal)	\
    (This)->lpVtbl -> get_Description(This,pbstrVal)

#define ICaoSQLItem_get_Element(This,lIndex1,lIndex2,lIndex3,pVal)	\
    (This)->lpVtbl -> get_Element(This,lIndex1,lIndex2,lIndex3,pVal)

#define ICaoSQLItem_put_Element(This,lIndex1,lIndex2,lIndex3,newVal)	\
    (This)->lpVtbl -> put_Element(This,lIndex1,lIndex2,lIndex3,newVal)

#define ICaoSQLItem_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ICaoSQLItem_put_ID(This,newVal)	\
    (This)->lpVtbl -> put_ID(This,newVal)

#define ICaoSQLItem_get_LinkItemNames(This,pvntVal)	\
    (This)->lpVtbl -> get_LinkItemNames(This,pvntVal)

#define ICaoSQLItem_get_Name(This,pbstrVal)	\
    (This)->lpVtbl -> get_Name(This,pbstrVal)

#define ICaoSQLItem_get_SettingData(This,vntName,pvntVal)	\
    (This)->lpVtbl -> get_SettingData(This,vntName,pvntVal)

#define ICaoSQLItem_put_SettingData(This,vntName,vntNewVal)	\
    (This)->lpVtbl -> put_SettingData(This,vntName,vntNewVal)

#define ICaoSQLItem_get_PrevValue(This,pvntVal)	\
    (This)->lpVtbl -> get_PrevValue(This,pvntVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Value_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLItem_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_put_Value_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ VARIANT vntNewVal);


void __RPC_STUB ICaoSQLItem_put_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_Snapshot_Proxy( 
    ICaoSQLItem * This);


void __RPC_STUB ICaoSQLItem_Snapshot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Activation_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ VARIANT_BOOL *pbVal);


void __RPC_STUB ICaoSQLItem_get_Activation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_put_Activation_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ VARIANT_BOOL bNewVal);


void __RPC_STUB ICaoSQLItem_put_Activation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_DateTime_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLItem_get_DateTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Index_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLItem_get_Index_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_LinkActivation_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ VARIANT_BOOL *pbVal);


void __RPC_STUB ICaoSQLItem_get_LinkActivation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_put_LinkActivation_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ VARIANT_BOOL bNewVal);


void __RPC_STUB ICaoSQLItem_put_LinkActivation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Microsecond_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLItem_get_Microsecond_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_State_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLItem_get_State_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Tag_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLItem_get_Tag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_put_Tag_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ VARIANT vntNewVal);


void __RPC_STUB ICaoSQLItem_put_Tag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_put_ValueEx_Proxy( 
    ICaoSQLItem * This,
    /* [defaultvalue][in] */ long lDelay,
    /* [in] */ VARIANT vntNewVal);


void __RPC_STUB ICaoSQLItem_put_ValueEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Attribute_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLItem_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Description_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB ICaoSQLItem_get_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Element_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ long lIndex1,
    /* [defaultvalue][in] */ long lIndex2,
    /* [defaultvalue][in] */ long lIndex3,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB ICaoSQLItem_get_Element_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_put_Element_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ long lIndex1,
    /* [defaultvalue][in] */ long lIndex2,
    /* [defaultvalue][in] */ long lIndex3,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoSQLItem_put_Element_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_ID_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB ICaoSQLItem_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_put_ID_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoSQLItem_put_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_LinkItemNames_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLItem_get_LinkItemNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_Name_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB ICaoSQLItem_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_SettingData_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ VARIANT vntName,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLItem_get_SettingData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_put_SettingData_Proxy( 
    ICaoSQLItem * This,
    /* [in] */ VARIANT vntName,
    /* [in] */ VARIANT vntNewVal);


void __RPC_STUB ICaoSQLItem_put_SettingData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLItem_get_PrevValue_Proxy( 
    ICaoSQLItem * This,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLItem_get_PrevValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoSQLItem_INTERFACE_DEFINED__ */


#ifndef __ICaoSQLHistory_INTERFACE_DEFINED__
#define __ICaoSQLHistory_INTERFACE_DEFINED__

/* interface ICaoSQLHistory */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoSQLHistory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("48697BDE-1C16-4629-B5E3-D8B8C4000FBF")
    ICaoSQLHistory : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ BSTR bstrCmdText,
            /* [retval][out] */ VARIANT *pvntVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionString( 
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Enable( 
            /* [retval][out] */ VARIANT_BOOL *pbVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MaxRecord( 
            /* [in] */ long lIndex,
            /* [retval][out] */ long *plVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TableName( 
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoSQLHistoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICaoSQLHistory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICaoSQLHistory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICaoSQLHistory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICaoSQLHistory * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICaoSQLHistory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICaoSQLHistory * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICaoSQLHistory * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            ICaoSQLHistory * This,
            /* [in] */ BSTR bstrCmdText,
            /* [retval][out] */ VARIANT *pvntVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionString )( 
            ICaoSQLHistory * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enable )( 
            ICaoSQLHistory * This,
            /* [retval][out] */ VARIANT_BOOL *pbVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxRecord )( 
            ICaoSQLHistory * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ long *plVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TableName )( 
            ICaoSQLHistory * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrVal);
        
        END_INTERFACE
    } ICaoSQLHistoryVtbl;

    interface ICaoSQLHistory
    {
        CONST_VTBL struct ICaoSQLHistoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoSQLHistory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoSQLHistory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoSQLHistory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoSQLHistory_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoSQLHistory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoSQLHistory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoSQLHistory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoSQLHistory_Execute(This,bstrCmdText,pvntVal)	\
    (This)->lpVtbl -> Execute(This,bstrCmdText,pvntVal)

#define ICaoSQLHistory_get_ConnectionString(This,lIndex,pbstrVal)	\
    (This)->lpVtbl -> get_ConnectionString(This,lIndex,pbstrVal)

#define ICaoSQLHistory_get_Enable(This,pbVal)	\
    (This)->lpVtbl -> get_Enable(This,pbVal)

#define ICaoSQLHistory_get_MaxRecord(This,lIndex,plVal)	\
    (This)->lpVtbl -> get_MaxRecord(This,lIndex,plVal)

#define ICaoSQLHistory_get_TableName(This,lIndex,pbstrVal)	\
    (This)->lpVtbl -> get_TableName(This,lIndex,pbstrVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoSQLHistory_Execute_Proxy( 
    ICaoSQLHistory * This,
    /* [in] */ BSTR bstrCmdText,
    /* [retval][out] */ VARIANT *pvntVal);


void __RPC_STUB ICaoSQLHistory_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLHistory_get_ConnectionString_Proxy( 
    ICaoSQLHistory * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB ICaoSQLHistory_get_ConnectionString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLHistory_get_Enable_Proxy( 
    ICaoSQLHistory * This,
    /* [retval][out] */ VARIANT_BOOL *pbVal);


void __RPC_STUB ICaoSQLHistory_get_Enable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLHistory_get_MaxRecord_Proxy( 
    ICaoSQLHistory * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ long *plVal);


void __RPC_STUB ICaoSQLHistory_get_MaxRecord_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLHistory_get_TableName_Proxy( 
    ICaoSQLHistory * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB ICaoSQLHistory_get_TableName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoSQLHistory_INTERFACE_DEFINED__ */


#ifndef __IRACEventSink_INTERFACE_DEFINED__
#define __IRACEventSink_INTERFACE_DEFINED__

/* interface IRACEventSink */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRACEventSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1AA6DA40-2799-43b3-890D-99E21D898B97")
    IRACEventSink : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnMessage( 
            /* [in] */ IUnknown *pVal,
            /* [defaultvalue][in] */ long lOption = 0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRACEventSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRACEventSink * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRACEventSink * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRACEventSink * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRACEventSink * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRACEventSink * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRACEventSink * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRACEventSink * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnMessage )( 
            IRACEventSink * This,
            /* [in] */ IUnknown *pVal,
            /* [defaultvalue][in] */ long lOption);
        
        END_INTERFACE
    } IRACEventSinkVtbl;

    interface IRACEventSink
    {
        CONST_VTBL struct IRACEventSinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRACEventSink_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRACEventSink_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRACEventSink_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRACEventSink_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRACEventSink_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRACEventSink_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRACEventSink_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRACEventSink_OnMessage(This,pVal,lOption)	\
    (This)->lpVtbl -> OnMessage(This,pVal,lOption)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRACEventSink_OnMessage_Proxy( 
    IRACEventSink * This,
    /* [in] */ IUnknown *pVal,
    /* [defaultvalue][in] */ long lOption);


void __RPC_STUB IRACEventSink_OnMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRACEventSink_INTERFACE_DEFINED__ */


#ifndef __ICoAPEventSink_INTERFACE_DEFINED__
#define __ICoAPEventSink_INTERFACE_DEFINED__

/* interface ICoAPEventSink */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICoAPEventSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3E04C9E3-3BF6-470d-9BE0-7786A54A1D7B")
    ICoAPEventSink : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnMessage( 
            /* [in] */ IUnknown *pVal,
            /* [defaultvalue][in] */ long lOption = 0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICoAPEventSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoAPEventSink * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoAPEventSink * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoAPEventSink * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICoAPEventSink * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICoAPEventSink * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICoAPEventSink * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoAPEventSink * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnMessage )( 
            ICoAPEventSink * This,
            /* [in] */ IUnknown *pVal,
            /* [defaultvalue][in] */ long lOption);
        
        END_INTERFACE
    } ICoAPEventSinkVtbl;

    interface ICoAPEventSink
    {
        CONST_VTBL struct ICoAPEventSinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoAPEventSink_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICoAPEventSink_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICoAPEventSink_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICoAPEventSink_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICoAPEventSink_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICoAPEventSink_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICoAPEventSink_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICoAPEventSink_OnMessage(This,pVal,lOption)	\
    (This)->lpVtbl -> OnMessage(This,pVal,lOption)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICoAPEventSink_OnMessage_Proxy( 
    ICoAPEventSink * This,
    /* [in] */ IUnknown *pVal,
    /* [defaultvalue][in] */ long lOption);


void __RPC_STUB ICoAPEventSink_OnMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICoAPEventSink_INTERFACE_DEFINED__ */


#ifndef __ICaoControllerEventSink_INTERFACE_DEFINED__
#define __ICaoControllerEventSink_INTERFACE_DEFINED__

/* interface ICaoControllerEventSink */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoControllerEventSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D146EA43-FAB7-4ab5-A8D5-7B6C24657E4A")
    ICaoControllerEventSink : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnMessage( 
            /* [in] */ IUnknown *pICaoMess) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoControllerEventSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICaoControllerEventSink * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICaoControllerEventSink * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICaoControllerEventSink * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICaoControllerEventSink * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICaoControllerEventSink * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICaoControllerEventSink * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICaoControllerEventSink * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnMessage )( 
            ICaoControllerEventSink * This,
            /* [in] */ IUnknown *pICaoMess);
        
        END_INTERFACE
    } ICaoControllerEventSinkVtbl;

    interface ICaoControllerEventSink
    {
        CONST_VTBL struct ICaoControllerEventSinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoControllerEventSink_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoControllerEventSink_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoControllerEventSink_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoControllerEventSink_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoControllerEventSink_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoControllerEventSink_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoControllerEventSink_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoControllerEventSink_OnMessage(This,pICaoMess)	\
    (This)->lpVtbl -> OnMessage(This,pICaoMess)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoControllerEventSink_OnMessage_Proxy( 
    ICaoControllerEventSink * This,
    /* [in] */ IUnknown *pICaoMess);


void __RPC_STUB ICaoControllerEventSink_OnMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoControllerEventSink_INTERFACE_DEFINED__ */


#ifndef __ICaoSQLMessage_INTERFACE_DEFINED__
#define __ICaoSQLMessage_INTERFACE_DEFINED__

/* interface ICaoSQLMessage */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoSQLMessage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C6A9D176-9392-4070-8244-F4A5AE7E46CE")
    ICaoSQLMessage : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateTime( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Destination( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Number( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SerialNumber( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoSQLMessageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICaoSQLMessage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICaoSQLMessage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICaoSQLMessage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICaoSQLMessage * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICaoSQLMessage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICaoSQLMessage * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICaoSQLMessage * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateTime )( 
            ICaoSQLMessage * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            ICaoSQLMessage * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Destination )( 
            ICaoSQLMessage * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Number )( 
            ICaoSQLMessage * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            ICaoSQLMessage * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICaoSQLMessage * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            ICaoSQLMessage * This,
            /* [retval][out] */ VARIANT *pVal);
        
        END_INTERFACE
    } ICaoSQLMessageVtbl;

    interface ICaoSQLMessage
    {
        CONST_VTBL struct ICaoSQLMessageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoSQLMessage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoSQLMessage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoSQLMessage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoSQLMessage_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoSQLMessage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoSQLMessage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoSQLMessage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoSQLMessage_get_DateTime(This,pVal)	\
    (This)->lpVtbl -> get_DateTime(This,pVal)

#define ICaoSQLMessage_get_Description(This,pVal)	\
    (This)->lpVtbl -> get_Description(This,pVal)

#define ICaoSQLMessage_get_Destination(This,pVal)	\
    (This)->lpVtbl -> get_Destination(This,pVal)

#define ICaoSQLMessage_get_Number(This,pVal)	\
    (This)->lpVtbl -> get_Number(This,pVal)

#define ICaoSQLMessage_get_SerialNumber(This,pVal)	\
    (This)->lpVtbl -> get_SerialNumber(This,pVal)

#define ICaoSQLMessage_get_Source(This,pVal)	\
    (This)->lpVtbl -> get_Source(This,pVal)

#define ICaoSQLMessage_get_Value(This,pVal)	\
    (This)->lpVtbl -> get_Value(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLMessage_get_DateTime_Proxy( 
    ICaoSQLMessage * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB ICaoSQLMessage_get_DateTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLMessage_get_Description_Proxy( 
    ICaoSQLMessage * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB ICaoSQLMessage_get_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLMessage_get_Destination_Proxy( 
    ICaoSQLMessage * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB ICaoSQLMessage_get_Destination_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLMessage_get_Number_Proxy( 
    ICaoSQLMessage * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB ICaoSQLMessage_get_Number_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLMessage_get_SerialNumber_Proxy( 
    ICaoSQLMessage * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB ICaoSQLMessage_get_SerialNumber_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLMessage_get_Source_Proxy( 
    ICaoSQLMessage * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB ICaoSQLMessage_get_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoSQLMessage_get_Value_Proxy( 
    ICaoSQLMessage * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB ICaoSQLMessage_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoSQLMessage_INTERFACE_DEFINED__ */



#ifndef __CaoSQLLib_LIBRARY_DEFINED__
#define __CaoSQLLib_LIBRARY_DEFINED__

/* library CaoSQLLib */
/* [helpstring][version][uuid] */ 

typedef /* [v1_enum][helpstring][public] */ _enmCaoVariableClass enmCaoVariableClass;

typedef /* [v1_enum][helpstring][public] */ _enmCaoSQLCtrlState enmCaoSQLCtrlState;

typedef /* [v1_enum][helpstring][public] */ _enmCaoSQLCtrlScantime enmCaoSQLCtrlScantime;

typedef /* [v1_enum][helpstring][public] */ _enmCaoSQLItemState enmCaoSQLItemState;

typedef /* [v1_enum][helpstring][public] */ _enmCaoSQLItemAttribute enmCaoSQLItemAttribute;


EXTERN_C const IID LIBID_CaoSQLLib;

EXTERN_C const CLSID CLSID_CaoSQLEngine;

#ifdef __cplusplus

class DECLSPEC_UUID("95615A16-A369-4937-A8F9-B3A909E9C5CE")
CaoSQLEngine;
#endif

#ifndef ___ICaoSQLControllerEvents_DISPINTERFACE_DEFINED__
#define ___ICaoSQLControllerEvents_DISPINTERFACE_DEFINED__

/* dispinterface _ICaoSQLControllerEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__ICaoSQLControllerEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("B6E12C86-10B8-459e-A29D-E54199885EC6")
    _ICaoSQLControllerEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _ICaoSQLControllerEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _ICaoSQLControllerEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _ICaoSQLControllerEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _ICaoSQLControllerEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _ICaoSQLControllerEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _ICaoSQLControllerEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _ICaoSQLControllerEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _ICaoSQLControllerEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _ICaoSQLControllerEventsVtbl;

    interface _ICaoSQLControllerEvents
    {
        CONST_VTBL struct _ICaoSQLControllerEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _ICaoSQLControllerEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _ICaoSQLControllerEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _ICaoSQLControllerEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _ICaoSQLControllerEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _ICaoSQLControllerEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _ICaoSQLControllerEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _ICaoSQLControllerEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___ICaoSQLControllerEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IRACSever_INTERFACE_DEFINED__
#define __IRACSever_INTERFACE_DEFINED__

/* interface IRACSever */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRACSever;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3253EA5F-90F2-4DB1-B449-4767F8EDF82F")
    IRACSever : public IDispatch
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRACSeverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRACSever * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRACSever * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRACSever * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRACSever * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRACSever * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRACSever * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRACSever * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } IRACSeverVtbl;

    interface IRACSever
    {
        CONST_VTBL struct IRACSeverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRACSever_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRACSever_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRACSever_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRACSever_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRACSever_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRACSever_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRACSever_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRACSever_INTERFACE_DEFINED__ */


#ifndef __ICoAPSever_INTERFACE_DEFINED__
#define __ICoAPSever_INTERFACE_DEFINED__

/* interface ICoAPSever */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICoAPSever;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("12872126-16D1-4f31-8E1A-0FA52A3EBE23")
    ICoAPSever : public IDispatch
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct ICoAPSeverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoAPSever * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoAPSever * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoAPSever * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICoAPSever * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICoAPSever * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICoAPSever * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoAPSever * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } ICoAPSeverVtbl;

    interface ICoAPSever
    {
        CONST_VTBL struct ICoAPSeverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoAPSever_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICoAPSever_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICoAPSever_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICoAPSever_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICoAPSever_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICoAPSever_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICoAPSever_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoAPSever_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CaoSQLController;

#ifdef __cplusplus

class DECLSPEC_UUID("54A724F0-70FF-4e2d-BC81-ADEE8AD34682")
CaoSQLController;
#endif

EXTERN_C const CLSID CLSID_CaoSQLItem;

#ifdef __cplusplus

class DECLSPEC_UUID("B5A90BCB-508F-462e-B714-BAEB106A5100")
CaoSQLItem;
#endif

EXTERN_C const CLSID CLSID_CaoSQLHistory;

#ifdef __cplusplus

class DECLSPEC_UUID("495F2699-4037-4fd7-A444-F66A77DB6610")
CaoSQLHistory;
#endif

EXTERN_C const CLSID CLSID_RACEventSink;

#ifdef __cplusplus

class DECLSPEC_UUID("BC7F2ADB-E49A-4f9e-9B57-822AF4CA3D32")
RACEventSink;
#endif

EXTERN_C const CLSID CLSID_CoAPEventSink;

#ifdef __cplusplus

class DECLSPEC_UUID("08A9BCEA-52DC-4d2a-BC48-DF53CBD3835B")
CoAPEventSink;
#endif

EXTERN_C const CLSID CLSID_CaoControllerEventSink;

#ifdef __cplusplus

class DECLSPEC_UUID("89A82EF1-2F3E-49d7-B75D-6682462B69A9")
CaoControllerEventSink;
#endif

EXTERN_C const CLSID CLSID_CaoSQLMessage;

#ifdef __cplusplus

class DECLSPEC_UUID("CA38CADF-3D8A-4369-AD06-8D277AF5D956")
CaoSQLMessage;
#endif
#endif /* __CaoSQLLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


