/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 5.01.0164 */
/* at Tue Apr 01 12:18:41 2025
 */
/* Compiler settings for D:\ORiN2\CAO\Provider\Src\CAOPROV.idl:
    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __CAOPROV_h__
#define __CAOPROV_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __ICaoProvController_FWD_DEFINED__
#define __ICaoProvController_FWD_DEFINED__
typedef interface ICaoProvController ICaoProvController;
#endif 	/* __ICaoProvController_FWD_DEFINED__ */


#ifndef __ICaoProvExtension_FWD_DEFINED__
#define __ICaoProvExtension_FWD_DEFINED__
typedef interface ICaoProvExtension ICaoProvExtension;
#endif 	/* __ICaoProvExtension_FWD_DEFINED__ */


#ifndef __ICaoProvFile_FWD_DEFINED__
#define __ICaoProvFile_FWD_DEFINED__
typedef interface ICaoProvFile ICaoProvFile;
#endif 	/* __ICaoProvFile_FWD_DEFINED__ */


#ifndef __ICaoProvRobot_FWD_DEFINED__
#define __ICaoProvRobot_FWD_DEFINED__
typedef interface ICaoProvRobot ICaoProvRobot;
#endif 	/* __ICaoProvRobot_FWD_DEFINED__ */


#ifndef __ICaoProvTask_FWD_DEFINED__
#define __ICaoProvTask_FWD_DEFINED__
typedef interface ICaoProvTask ICaoProvTask;
#endif 	/* __ICaoProvTask_FWD_DEFINED__ */


#ifndef __ICaoProvVariable_FWD_DEFINED__
#define __ICaoProvVariable_FWD_DEFINED__
typedef interface ICaoProvVariable ICaoProvVariable;
#endif 	/* __ICaoProvVariable_FWD_DEFINED__ */


#ifndef __ICaoProvCommand_FWD_DEFINED__
#define __ICaoProvCommand_FWD_DEFINED__
typedef interface ICaoProvCommand ICaoProvCommand;
#endif 	/* __ICaoProvCommand_FWD_DEFINED__ */


#ifndef __ICaoProvMessage_FWD_DEFINED__
#define __ICaoProvMessage_FWD_DEFINED__
typedef interface ICaoProvMessage ICaoProvMessage;
#endif 	/* __ICaoProvMessage_FWD_DEFINED__ */


#ifndef ___ICaoProvControllerEvents_FWD_DEFINED__
#define ___ICaoProvControllerEvents_FWD_DEFINED__
typedef interface _ICaoProvControllerEvents _ICaoProvControllerEvents;
#endif 	/* ___ICaoProvControllerEvents_FWD_DEFINED__ */


#ifndef __CaoProvController_FWD_DEFINED__
#define __CaoProvController_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoProvController CaoProvController;
#else
typedef struct CaoProvController CaoProvController;
#endif /* __cplusplus */

#endif 	/* __CaoProvController_FWD_DEFINED__ */


#ifndef __CaoProvExtension_FWD_DEFINED__
#define __CaoProvExtension_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoProvExtension CaoProvExtension;
#else
typedef struct CaoProvExtension CaoProvExtension;
#endif /* __cplusplus */

#endif 	/* __CaoProvExtension_FWD_DEFINED__ */


#ifndef __CaoProvFile_FWD_DEFINED__
#define __CaoProvFile_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoProvFile CaoProvFile;
#else
typedef struct CaoProvFile CaoProvFile;
#endif /* __cplusplus */

#endif 	/* __CaoProvFile_FWD_DEFINED__ */


#ifndef __CaoProvRobot_FWD_DEFINED__
#define __CaoProvRobot_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoProvRobot CaoProvRobot;
#else
typedef struct CaoProvRobot CaoProvRobot;
#endif /* __cplusplus */

#endif 	/* __CaoProvRobot_FWD_DEFINED__ */


#ifndef __CaoProvTask_FWD_DEFINED__
#define __CaoProvTask_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoProvTask CaoProvTask;
#else
typedef struct CaoProvTask CaoProvTask;
#endif /* __cplusplus */

#endif 	/* __CaoProvTask_FWD_DEFINED__ */


#ifndef __CaoProvVariable_FWD_DEFINED__
#define __CaoProvVariable_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoProvVariable CaoProvVariable;
#else
typedef struct CaoProvVariable CaoProvVariable;
#endif /* __cplusplus */

#endif 	/* __CaoProvVariable_FWD_DEFINED__ */


#ifndef __CaoProvCommand_FWD_DEFINED__
#define __CaoProvCommand_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoProvCommand CaoProvCommand;
#else
typedef struct CaoProvCommand CaoProvCommand;
#endif /* __cplusplus */

#endif 	/* __CaoProvCommand_FWD_DEFINED__ */


#ifndef __CaoProvMessage_FWD_DEFINED__
#define __CaoProvMessage_FWD_DEFINED__

#ifdef __cplusplus
typedef class CaoProvMessage CaoProvMessage;
#else
typedef struct CaoProvMessage CaoProvMessage;
#endif /* __cplusplus */

#endif 	/* __CaoProvMessage_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 

/* interface __MIDL_itf_CAOPROV_0000 */
/* [local] */ 













extern RPC_IF_HANDLE __MIDL_itf_CAOPROV_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_CAOPROV_0000_v0_0_s_ifspec;

#ifndef __ICaoProvController_INTERFACE_DEFINED__
#define __ICaoProvController_INTERFACE_DEFINED__

/* interface ICaoProvController */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoProvController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("35d6f2f9-b5d8-4467-becf-545e991fe0f4")
    ICaoProvController : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Help( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_RobotNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TaskNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VariableNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CommandNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetExtension( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvExtension __RPC_FAR *__RPC_FAR *ppCaoProvExtension) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFile( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvFile __RPC_FAR *__RPC_FAR *ppCaoProvFile) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetRobot( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvRobot __RPC_FAR *__RPC_FAR *ppCaoProvRobot) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetTask( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvTask __RPC_FAR *__RPC_FAR *ppCaoProvTask) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetVariable( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCommand( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvCommand __RPC_FAR *__RPC_FAR *ppCaoProvCommand) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnMessage( 
            /* [in] */ ICaoProvMessage __RPC_FAR *pMsg) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoProvControllerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICaoProvController __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICaoProvController __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICaoProvController __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            ICaoProvController __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attribute )( 
            ICaoProvController __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionNames )( 
            ICaoProvController __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FileNames )( 
            ICaoProvController __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Help )( 
            ICaoProvController __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RobotNames )( 
            ICaoProvController __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TaskNames )( 
            ICaoProvController __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VariableNames )( 
            ICaoProvController __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandNames )( 
            ICaoProvController __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            ICaoProvController __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ID )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
            ICaoProvController __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetExtension )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvExtension __RPC_FAR *__RPC_FAR *ppCaoProvExtension);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFile )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvFile __RPC_FAR *__RPC_FAR *ppCaoProvFile);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRobot )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvRobot __RPC_FAR *__RPC_FAR *ppCaoProvRobot);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTask )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvTask __RPC_FAR *__RPC_FAR *ppCaoProvTask);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVariable )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCommand )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvCommand __RPC_FAR *__RPC_FAR *ppCaoProvCommand);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnMessage )( 
            ICaoProvController __RPC_FAR * This,
            /* [in] */ ICaoProvMessage __RPC_FAR *pMsg);
        
        END_INTERFACE
    } ICaoProvControllerVtbl;

    interface ICaoProvController
    {
        CONST_VTBL struct ICaoProvControllerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoProvController_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoProvController_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoProvController_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoProvController_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoProvController_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoProvController_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoProvController_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoProvController_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define ICaoProvController_get_Attribute(This,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,pVal)

#define ICaoProvController_get_ExtensionNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_ExtensionNames(This,bstrOption,pVal)

#define ICaoProvController_get_FileNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_FileNames(This,bstrOption,pVal)

#define ICaoProvController_get_Help(This,pVal)	\
    (This)->lpVtbl -> get_Help(This,pVal)

#define ICaoProvController_get_RobotNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_RobotNames(This,bstrOption,pVal)

#define ICaoProvController_get_TaskNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_TaskNames(This,bstrOption,pVal)

#define ICaoProvController_get_VariableNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_VariableNames(This,bstrOption,pVal)

#define ICaoProvController_get_CommandNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_CommandNames(This,bstrOption,pVal)

#define ICaoProvController_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ICaoProvController_put_ID(This,newVal)	\
    (This)->lpVtbl -> put_ID(This,newVal)

#define ICaoProvController_Connect(This,bstrName,bstrOption)	\
    (This)->lpVtbl -> Connect(This,bstrName,bstrOption)

#define ICaoProvController_Disconnect(This)	\
    (This)->lpVtbl -> Disconnect(This)

#define ICaoProvController_GetExtension(This,bstrName,bstrOption,ppCaoProvExtension)	\
    (This)->lpVtbl -> GetExtension(This,bstrName,bstrOption,ppCaoProvExtension)

#define ICaoProvController_GetFile(This,bstrName,bstrOption,ppCaoProvFile)	\
    (This)->lpVtbl -> GetFile(This,bstrName,bstrOption,ppCaoProvFile)

#define ICaoProvController_GetRobot(This,bstrName,bstrOption,ppCaoProvRobot)	\
    (This)->lpVtbl -> GetRobot(This,bstrName,bstrOption,ppCaoProvRobot)

#define ICaoProvController_GetTask(This,bstrName,bstrOption,ppCaoProvTask)	\
    (This)->lpVtbl -> GetTask(This,bstrName,bstrOption,ppCaoProvTask)

#define ICaoProvController_GetVariable(This,bstrName,bstrOption,ppCaoProvVar)	\
    (This)->lpVtbl -> GetVariable(This,bstrName,bstrOption,ppCaoProvVar)

#define ICaoProvController_GetCommand(This,bstrName,bstrOption,ppCaoProvCommand)	\
    (This)->lpVtbl -> GetCommand(This,bstrName,bstrOption,ppCaoProvCommand)

#define ICaoProvController_Execute(This,bstrCommand,vntParam,pVal)	\
    (This)->lpVtbl -> Execute(This,bstrCommand,vntParam,pVal)

#define ICaoProvController_OnMessage(This,pMsg)	\
    (This)->lpVtbl -> OnMessage(This,pMsg)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_Name_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_Attribute_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_ExtensionNames_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_ExtensionNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_FileNames_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_FileNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_Help_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_RobotNames_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_RobotNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_TaskNames_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_TaskNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_VariableNames_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_VariableNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_CommandNames_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_CommandNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvController_get_ID_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvController_put_ID_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvController_put_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_Connect_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvController_Connect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_Disconnect_Proxy( 
    ICaoProvController __RPC_FAR * This);


void __RPC_STUB ICaoProvController_Disconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_GetExtension_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvExtension __RPC_FAR *__RPC_FAR *ppCaoProvExtension);


void __RPC_STUB ICaoProvController_GetExtension_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_GetFile_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvFile __RPC_FAR *__RPC_FAR *ppCaoProvFile);


void __RPC_STUB ICaoProvController_GetFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_GetRobot_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvRobot __RPC_FAR *__RPC_FAR *ppCaoProvRobot);


void __RPC_STUB ICaoProvController_GetRobot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_GetTask_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvTask __RPC_FAR *__RPC_FAR *ppCaoProvTask);


void __RPC_STUB ICaoProvController_GetTask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_GetVariable_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);


void __RPC_STUB ICaoProvController_GetVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_GetCommand_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvCommand __RPC_FAR *__RPC_FAR *ppCaoProvCommand);


void __RPC_STUB ICaoProvController_GetCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_Execute_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ BSTR bstrCommand,
    /* [optional][in] */ VARIANT vntParam,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvController_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvController_OnMessage_Proxy( 
    ICaoProvController __RPC_FAR * This,
    /* [in] */ ICaoProvMessage __RPC_FAR *pMsg);


void __RPC_STUB ICaoProvController_OnMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoProvController_INTERFACE_DEFINED__ */


#ifndef __ICaoProvExtension_INTERFACE_DEFINED__
#define __ICaoProvExtension_INTERFACE_DEFINED__

/* interface ICaoProvExtension */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoProvExtension;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("288f7a31-613e-455d-a2db-a2a1f7048418")
    ICaoProvExtension : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Help( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VariableNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetVariable( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoProvExtensionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICaoProvExtension __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICaoProvExtension __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attribute )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Help )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VariableNames )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ID )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVariable )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
            ICaoProvExtension __RPC_FAR * This,
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        END_INTERFACE
    } ICaoProvExtensionVtbl;

    interface ICaoProvExtension
    {
        CONST_VTBL struct ICaoProvExtensionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoProvExtension_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoProvExtension_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoProvExtension_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoProvExtension_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoProvExtension_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoProvExtension_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoProvExtension_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoProvExtension_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define ICaoProvExtension_get_Attribute(This,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,pVal)

#define ICaoProvExtension_get_Help(This,pVal)	\
    (This)->lpVtbl -> get_Help(This,pVal)

#define ICaoProvExtension_get_VariableNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_VariableNames(This,bstrOption,pVal)

#define ICaoProvExtension_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ICaoProvExtension_put_ID(This,newVal)	\
    (This)->lpVtbl -> put_ID(This,newVal)

#define ICaoProvExtension_GetVariable(This,bstrName,bstrOption,ppCaoProvVar)	\
    (This)->lpVtbl -> GetVariable(This,bstrName,bstrOption,ppCaoProvVar)

#define ICaoProvExtension_Execute(This,bstrCommand,vntParam,pVal)	\
    (This)->lpVtbl -> Execute(This,bstrCommand,vntParam,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvExtension_get_Name_Proxy( 
    ICaoProvExtension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvExtension_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvExtension_get_Attribute_Proxy( 
    ICaoProvExtension __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvExtension_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvExtension_get_Help_Proxy( 
    ICaoProvExtension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvExtension_get_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvExtension_get_VariableNames_Proxy( 
    ICaoProvExtension __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvExtension_get_VariableNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvExtension_get_ID_Proxy( 
    ICaoProvExtension __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvExtension_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvExtension_put_ID_Proxy( 
    ICaoProvExtension __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvExtension_put_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvExtension_GetVariable_Proxy( 
    ICaoProvExtension __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);


void __RPC_STUB ICaoProvExtension_GetVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvExtension_Execute_Proxy( 
    ICaoProvExtension __RPC_FAR * This,
    /* [in] */ BSTR bstrCommand,
    /* [optional][in] */ VARIANT vntParam,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvExtension_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoProvExtension_INTERFACE_DEFINED__ */


#ifndef __ICaoProvFile_INTERFACE_DEFINED__
#define __ICaoProvFile_INTERFACE_DEFINED__

/* interface ICaoProvFile */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoProvFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("14d6e888-40fe-4ce3-a61c-c5847236339e")
    ICaoProvFile : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateCreated( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateLastAccessed( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateLastModified( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Help( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VariableNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFile( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvFile __RPC_FAR *__RPC_FAR *ppCaoProvFile) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Copy( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetVariable( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Run( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoProvFileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICaoProvFile __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICaoProvFile __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICaoProvFile __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attribute )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DateCreated )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DateLastAccessed )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DateLastModified )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FileNames )( 
            ICaoProvFile __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Help )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VariableNames )( 
            ICaoProvFile __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            ICaoProvFile __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ID )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFile )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvFile __RPC_FAR *__RPC_FAR *ppCaoProvFile);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            ICaoProvFile __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVariable )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            ICaoProvFile __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )( 
            ICaoProvFile __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        END_INTERFACE
    } ICaoProvFileVtbl;

    interface ICaoProvFile
    {
        CONST_VTBL struct ICaoProvFileVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoProvFile_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoProvFile_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoProvFile_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoProvFile_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoProvFile_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoProvFile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoProvFile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoProvFile_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define ICaoProvFile_get_Attribute(This,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,pVal)

#define ICaoProvFile_get_DateCreated(This,pVal)	\
    (This)->lpVtbl -> get_DateCreated(This,pVal)

#define ICaoProvFile_get_DateLastAccessed(This,pVal)	\
    (This)->lpVtbl -> get_DateLastAccessed(This,pVal)

#define ICaoProvFile_get_DateLastModified(This,pVal)	\
    (This)->lpVtbl -> get_DateLastModified(This,pVal)

#define ICaoProvFile_get_FileNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_FileNames(This,bstrOption,pVal)

#define ICaoProvFile_get_Help(This,pVal)	\
    (This)->lpVtbl -> get_Help(This,pVal)

#define ICaoProvFile_get_Path(This,pVal)	\
    (This)->lpVtbl -> get_Path(This,pVal)

#define ICaoProvFile_get_Size(This,pVal)	\
    (This)->lpVtbl -> get_Size(This,pVal)

#define ICaoProvFile_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define ICaoProvFile_get_Value(This,pVal)	\
    (This)->lpVtbl -> get_Value(This,pVal)

#define ICaoProvFile_put_Value(This,newVal)	\
    (This)->lpVtbl -> put_Value(This,newVal)

#define ICaoProvFile_get_VariableNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_VariableNames(This,bstrOption,pVal)

#define ICaoProvFile_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ICaoProvFile_put_ID(This,newVal)	\
    (This)->lpVtbl -> put_ID(This,newVal)

#define ICaoProvFile_GetFile(This,bstrName,bstrOption,ppCaoProvFile)	\
    (This)->lpVtbl -> GetFile(This,bstrName,bstrOption,ppCaoProvFile)

#define ICaoProvFile_Copy(This,bstrName,bstrOption)	\
    (This)->lpVtbl -> Copy(This,bstrName,bstrOption)

#define ICaoProvFile_Delete(This,bstrOption)	\
    (This)->lpVtbl -> Delete(This,bstrOption)

#define ICaoProvFile_GetVariable(This,bstrName,bstrOption,ppCaoProvVar)	\
    (This)->lpVtbl -> GetVariable(This,bstrName,bstrOption,ppCaoProvVar)

#define ICaoProvFile_Execute(This,bstrCommand,vntParam,pVal)	\
    (This)->lpVtbl -> Execute(This,bstrCommand,vntParam,pVal)

#define ICaoProvFile_Move(This,bstrName,bstrOption)	\
    (This)->lpVtbl -> Move(This,bstrName,bstrOption)

#define ICaoProvFile_Run(This,bstrOption,pVal)	\
    (This)->lpVtbl -> Run(This,bstrOption,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_Name_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_Attribute_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_DateCreated_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_DateCreated_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_DateLastAccessed_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_DateLastAccessed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_DateLastModified_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_DateLastModified_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_FileNames_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_FileNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_Help_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_Path_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_Size_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_Size_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_Type_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_Value_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_put_Value_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvFile_put_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_VariableNames_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_VariableNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_get_ID_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_put_ID_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvFile_put_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_GetFile_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvFile __RPC_FAR *__RPC_FAR *ppCaoProvFile);


void __RPC_STUB ICaoProvFile_GetFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_Copy_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvFile_Copy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_Delete_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvFile_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_GetVariable_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);


void __RPC_STUB ICaoProvFile_GetVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_Execute_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [in] */ BSTR bstrCommand,
    /* [optional][in] */ VARIANT vntParam,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_Move_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvFile_Move_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvFile_Run_Proxy( 
    ICaoProvFile __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvFile_Run_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoProvFile_INTERFACE_DEFINED__ */


#ifndef __ICaoProvRobot_INTERFACE_DEFINED__
#define __ICaoProvRobot_INTERFACE_DEFINED__

/* interface ICaoProvRobot */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoProvRobot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("08b49065-586e-4819-9992-dc7b5dc26f3e")
    ICaoProvRobot : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Help( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VariableNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetVariable( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Accelerate( 
            /* [in] */ long lAxis,
            /* [in] */ float fAccel,
            /* [defaultvalue][in] */ float fDecel = 0) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Change( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Chuck( 
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Drive( 
            /* [in] */ long lNo,
            /* [in] */ float fMov,
            /* [optional][in] */ BSTR bstrOpt) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GoHome( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Halt( 
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Hold( 
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ long lComp,
            /* [in] */ VARIANT vntPose,
            /* [optional][in] */ BSTR bstrOpt) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Rotate( 
            /* [in] */ VARIANT vntRotSuf,
            /* [in] */ float fDeg,
            /* [in] */ VARIANT vntPivot,
            /* [optional][in] */ BSTR bstrOpt) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Speed( 
            /* [in] */ long lAxis,
            /* [in] */ float fSpeed) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Unchuck( 
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Unhold( 
            /* [optional][in] */ BSTR bstrOption) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoProvRobotVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICaoProvRobot __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICaoProvRobot __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attribute )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Help )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VariableNames )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ID )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVariable )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Accelerate )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ long lAxis,
            /* [in] */ float fAccel,
            /* [defaultvalue][in] */ float fDecel);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Change )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Chuck )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Drive )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ long lNo,
            /* [in] */ float fMov,
            /* [optional][in] */ BSTR bstrOpt);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GoHome )( 
            ICaoProvRobot __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Halt )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hold )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ long lComp,
            /* [in] */ VARIANT vntPose,
            /* [optional][in] */ BSTR bstrOpt);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ VARIANT vntRotSuf,
            /* [in] */ float fDeg,
            /* [in] */ VARIANT vntPivot,
            /* [optional][in] */ BSTR bstrOpt);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Speed )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [in] */ long lAxis,
            /* [in] */ float fSpeed);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unchuck )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unhold )( 
            ICaoProvRobot __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption);
        
        END_INTERFACE
    } ICaoProvRobotVtbl;

    interface ICaoProvRobot
    {
        CONST_VTBL struct ICaoProvRobotVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoProvRobot_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoProvRobot_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoProvRobot_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoProvRobot_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoProvRobot_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoProvRobot_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoProvRobot_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoProvRobot_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define ICaoProvRobot_get_Attribute(This,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,pVal)

#define ICaoProvRobot_get_Help(This,pVal)	\
    (This)->lpVtbl -> get_Help(This,pVal)

#define ICaoProvRobot_get_VariableNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_VariableNames(This,bstrOption,pVal)

#define ICaoProvRobot_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ICaoProvRobot_put_ID(This,newVal)	\
    (This)->lpVtbl -> put_ID(This,newVal)

#define ICaoProvRobot_GetVariable(This,bstrName,bstrOption,ppCaoProvVar)	\
    (This)->lpVtbl -> GetVariable(This,bstrName,bstrOption,ppCaoProvVar)

#define ICaoProvRobot_Execute(This,bstrCommand,vntParam,pVal)	\
    (This)->lpVtbl -> Execute(This,bstrCommand,vntParam,pVal)

#define ICaoProvRobot_Accelerate(This,lAxis,fAccel,fDecel)	\
    (This)->lpVtbl -> Accelerate(This,lAxis,fAccel,fDecel)

#define ICaoProvRobot_Change(This,bstrName)	\
    (This)->lpVtbl -> Change(This,bstrName)

#define ICaoProvRobot_Chuck(This,bstrOption)	\
    (This)->lpVtbl -> Chuck(This,bstrOption)

#define ICaoProvRobot_Drive(This,lNo,fMov,bstrOpt)	\
    (This)->lpVtbl -> Drive(This,lNo,fMov,bstrOpt)

#define ICaoProvRobot_GoHome(This)	\
    (This)->lpVtbl -> GoHome(This)

#define ICaoProvRobot_Halt(This,bstrOption)	\
    (This)->lpVtbl -> Halt(This,bstrOption)

#define ICaoProvRobot_Hold(This,bstrOption)	\
    (This)->lpVtbl -> Hold(This,bstrOption)

#define ICaoProvRobot_Move(This,lComp,vntPose,bstrOpt)	\
    (This)->lpVtbl -> Move(This,lComp,vntPose,bstrOpt)

#define ICaoProvRobot_Rotate(This,vntRotSuf,fDeg,vntPivot,bstrOpt)	\
    (This)->lpVtbl -> Rotate(This,vntRotSuf,fDeg,vntPivot,bstrOpt)

#define ICaoProvRobot_Speed(This,lAxis,fSpeed)	\
    (This)->lpVtbl -> Speed(This,lAxis,fSpeed)

#define ICaoProvRobot_Unchuck(This,bstrOption)	\
    (This)->lpVtbl -> Unchuck(This,bstrOption)

#define ICaoProvRobot_Unhold(This,bstrOption)	\
    (This)->lpVtbl -> Unhold(This,bstrOption)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_get_Name_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvRobot_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_get_Attribute_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvRobot_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_get_Help_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvRobot_get_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_get_VariableNames_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvRobot_get_VariableNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_get_ID_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvRobot_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_put_ID_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvRobot_put_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_GetVariable_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);


void __RPC_STUB ICaoProvRobot_GetVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Execute_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ BSTR bstrCommand,
    /* [optional][in] */ VARIANT vntParam,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvRobot_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Accelerate_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ long lAxis,
    /* [in] */ float fAccel,
    /* [defaultvalue][in] */ float fDecel);


void __RPC_STUB ICaoProvRobot_Accelerate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Change_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB ICaoProvRobot_Change_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Chuck_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvRobot_Chuck_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Drive_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ long lNo,
    /* [in] */ float fMov,
    /* [optional][in] */ BSTR bstrOpt);


void __RPC_STUB ICaoProvRobot_Drive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_GoHome_Proxy( 
    ICaoProvRobot __RPC_FAR * This);


void __RPC_STUB ICaoProvRobot_GoHome_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Halt_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvRobot_Halt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Hold_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvRobot_Hold_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Move_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ long lComp,
    /* [in] */ VARIANT vntPose,
    /* [optional][in] */ BSTR bstrOpt);


void __RPC_STUB ICaoProvRobot_Move_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Rotate_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ VARIANT vntRotSuf,
    /* [in] */ float fDeg,
    /* [in] */ VARIANT vntPivot,
    /* [optional][in] */ BSTR bstrOpt);


void __RPC_STUB ICaoProvRobot_Rotate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Speed_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [in] */ long lAxis,
    /* [in] */ float fSpeed);


void __RPC_STUB ICaoProvRobot_Speed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Unchuck_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvRobot_Unchuck_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvRobot_Unhold_Proxy( 
    ICaoProvRobot __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvRobot_Unhold_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoProvRobot_INTERFACE_DEFINED__ */


#ifndef __ICaoProvTask_INTERFACE_DEFINED__
#define __ICaoProvTask_INTERFACE_DEFINED__

/* interface ICaoProvTask */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoProvTask;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3f23b096-03ce-465e-8a91-fc861e0a3448")
    ICaoProvTask : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Help( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VariableNames( 
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetVariable( 
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Start( 
            /* [defaultvalue][in] */ long lMode,
            /* [optional][in] */ BSTR bstrOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Stop( 
            /* [defaultvalue][in] */ long lMode,
            /* [optional][in] */ BSTR bstrOption) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoProvTaskVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICaoProvTask __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICaoProvTask __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICaoProvTask __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICaoProvTask __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICaoProvTask __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICaoProvTask __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICaoProvTask __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            ICaoProvTask __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attribute )( 
            ICaoProvTask __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FileName )( 
            ICaoProvTask __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Help )( 
            ICaoProvTask __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VariableNames )( 
            ICaoProvTask __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            ICaoProvTask __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ID )( 
            ICaoProvTask __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVariable )( 
            ICaoProvTask __RPC_FAR * This,
            /* [in] */ BSTR bstrName,
            /* [optional][in] */ BSTR bstrOption,
            /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            ICaoProvTask __RPC_FAR * This,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
            ICaoProvTask __RPC_FAR * This,
            /* [in] */ BSTR bstrCommand,
            /* [optional][in] */ VARIANT vntParam,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
            ICaoProvTask __RPC_FAR * This,
            /* [defaultvalue][in] */ long lMode,
            /* [optional][in] */ BSTR bstrOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            ICaoProvTask __RPC_FAR * This,
            /* [defaultvalue][in] */ long lMode,
            /* [optional][in] */ BSTR bstrOption);
        
        END_INTERFACE
    } ICaoProvTaskVtbl;

    interface ICaoProvTask
    {
        CONST_VTBL struct ICaoProvTaskVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoProvTask_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoProvTask_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoProvTask_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoProvTask_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoProvTask_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoProvTask_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoProvTask_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoProvTask_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define ICaoProvTask_get_Attribute(This,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,pVal)

#define ICaoProvTask_get_FileName(This,pVal)	\
    (This)->lpVtbl -> get_FileName(This,pVal)

#define ICaoProvTask_get_Help(This,pVal)	\
    (This)->lpVtbl -> get_Help(This,pVal)

#define ICaoProvTask_get_VariableNames(This,bstrOption,pVal)	\
    (This)->lpVtbl -> get_VariableNames(This,bstrOption,pVal)

#define ICaoProvTask_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ICaoProvTask_put_ID(This,newVal)	\
    (This)->lpVtbl -> put_ID(This,newVal)

#define ICaoProvTask_GetVariable(This,bstrName,bstrOption,ppCaoProvVar)	\
    (This)->lpVtbl -> GetVariable(This,bstrName,bstrOption,ppCaoProvVar)

#define ICaoProvTask_Delete(This,bstrOption)	\
    (This)->lpVtbl -> Delete(This,bstrOption)

#define ICaoProvTask_Execute(This,bstrCommand,vntParam,pVal)	\
    (This)->lpVtbl -> Execute(This,bstrCommand,vntParam,pVal)

#define ICaoProvTask_Start(This,lMode,bstrOption)	\
    (This)->lpVtbl -> Start(This,lMode,bstrOption)

#define ICaoProvTask_Stop(This,lMode,bstrOption)	\
    (This)->lpVtbl -> Stop(This,lMode,bstrOption)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_get_Name_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvTask_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_get_Attribute_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvTask_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_get_FileName_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvTask_get_FileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_get_Help_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvTask_get_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_get_VariableNames_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvTask_get_VariableNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_get_ID_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvTask_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_put_ID_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvTask_put_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_GetVariable_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [in] */ BSTR bstrName,
    /* [optional][in] */ BSTR bstrOption,
    /* [retval][out] */ ICaoProvVariable __RPC_FAR *__RPC_FAR *ppCaoProvVar);


void __RPC_STUB ICaoProvTask_GetVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_Delete_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvTask_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_Execute_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [in] */ BSTR bstrCommand,
    /* [optional][in] */ VARIANT vntParam,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvTask_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_Start_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [defaultvalue][in] */ long lMode,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvTask_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvTask_Stop_Proxy( 
    ICaoProvTask __RPC_FAR * This,
    /* [defaultvalue][in] */ long lMode,
    /* [optional][in] */ BSTR bstrOption);


void __RPC_STUB ICaoProvTask_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoProvTask_INTERFACE_DEFINED__ */


#ifndef __ICaoProvVariable_INTERFACE_DEFINED__
#define __ICaoProvVariable_INTERFACE_DEFINED__

/* interface ICaoProvVariable */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoProvVariable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a1702324-e8cb-48bc-a963-9bbc7ac4b7a1")
    ICaoProvVariable : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateTime( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Help( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Microsecond( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoProvVariableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICaoProvVariable __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICaoProvVariable __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attribute )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DateTime )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Help )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ID )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Microsecond )( 
            ICaoProvVariable __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        END_INTERFACE
    } ICaoProvVariableVtbl;

    interface ICaoProvVariable
    {
        CONST_VTBL struct ICaoProvVariableVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoProvVariable_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoProvVariable_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoProvVariable_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoProvVariable_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoProvVariable_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoProvVariable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoProvVariable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoProvVariable_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define ICaoProvVariable_get_Attribute(This,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,pVal)

#define ICaoProvVariable_get_DateTime(This,pVal)	\
    (This)->lpVtbl -> get_DateTime(This,pVal)

#define ICaoProvVariable_get_Help(This,pVal)	\
    (This)->lpVtbl -> get_Help(This,pVal)

#define ICaoProvVariable_get_Value(This,pVal)	\
    (This)->lpVtbl -> get_Value(This,pVal)

#define ICaoProvVariable_put_Value(This,newVal)	\
    (This)->lpVtbl -> put_Value(This,newVal)

#define ICaoProvVariable_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ICaoProvVariable_put_ID(This,newVal)	\
    (This)->lpVtbl -> put_ID(This,newVal)

#define ICaoProvVariable_get_Microsecond(This,pVal)	\
    (This)->lpVtbl -> get_Microsecond(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_get_Name_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvVariable_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_get_Attribute_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvVariable_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_get_DateTime_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvVariable_get_DateTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_get_Help_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvVariable_get_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_get_Value_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvVariable_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_put_Value_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvVariable_put_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_get_ID_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvVariable_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_put_ID_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvVariable_put_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvVariable_get_Microsecond_Proxy( 
    ICaoProvVariable __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvVariable_get_Microsecond_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoProvVariable_INTERFACE_DEFINED__ */


#ifndef __ICaoProvCommand_INTERFACE_DEFINED__
#define __ICaoProvCommand_INTERFACE_DEFINED__

/* interface ICaoProvCommand */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoProvCommand;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("97455CAD-FE7C-4abb-A95F-7FE62898CD14")
    ICaoProvCommand : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Help( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Parameters( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Parameters( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Timeout( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Timeout( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [defaultvalue][in] */ long lOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoProvCommandVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICaoProvCommand __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICaoProvCommand __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attribute )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Help )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parameters )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Parameters )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Timeout )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Timeout )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ID )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
            ICaoProvCommand __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
            ICaoProvCommand __RPC_FAR * This,
            /* [defaultvalue][in] */ long lOption,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        END_INTERFACE
    } ICaoProvCommandVtbl;

    interface ICaoProvCommand
    {
        CONST_VTBL struct ICaoProvCommandVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoProvCommand_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoProvCommand_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoProvCommand_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoProvCommand_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoProvCommand_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoProvCommand_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoProvCommand_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoProvCommand_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define ICaoProvCommand_get_Attribute(This,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,pVal)

#define ICaoProvCommand_get_Help(This,pVal)	\
    (This)->lpVtbl -> get_Help(This,pVal)

#define ICaoProvCommand_get_Parameters(This,pVal)	\
    (This)->lpVtbl -> get_Parameters(This,pVal)

#define ICaoProvCommand_put_Parameters(This,newVal)	\
    (This)->lpVtbl -> put_Parameters(This,newVal)

#define ICaoProvCommand_get_State(This,pVal)	\
    (This)->lpVtbl -> get_State(This,pVal)

#define ICaoProvCommand_get_Timeout(This,pVal)	\
    (This)->lpVtbl -> get_Timeout(This,pVal)

#define ICaoProvCommand_put_Timeout(This,newVal)	\
    (This)->lpVtbl -> put_Timeout(This,newVal)

#define ICaoProvCommand_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ICaoProvCommand_put_ID(This,newVal)	\
    (This)->lpVtbl -> put_ID(This,newVal)

#define ICaoProvCommand_Cancel(This)	\
    (This)->lpVtbl -> Cancel(This)

#define ICaoProvCommand_Execute(This,lOption,pVal)	\
    (This)->lpVtbl -> Execute(This,lOption,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_get_Name_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvCommand_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_get_Attribute_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvCommand_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_get_Help_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvCommand_get_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_get_Parameters_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvCommand_get_Parameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_put_Parameters_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvCommand_put_Parameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_get_State_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvCommand_get_State_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_get_Timeout_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvCommand_get_Timeout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_put_Timeout_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [in] */ long newVal);


void __RPC_STUB ICaoProvCommand_put_Timeout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_get_ID_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvCommand_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_put_ID_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB ICaoProvCommand_put_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_Cancel_Proxy( 
    ICaoProvCommand __RPC_FAR * This);


void __RPC_STUB ICaoProvCommand_Cancel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvCommand_Execute_Proxy( 
    ICaoProvCommand __RPC_FAR * This,
    /* [defaultvalue][in] */ long lOption,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvCommand_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoProvCommand_INTERFACE_DEFINED__ */


#ifndef __ICaoProvMessage_INTERFACE_DEFINED__
#define __ICaoProvMessage_INTERFACE_DEFINED__

/* interface ICaoProvMessage */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ICaoProvMessage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("96920f0f-d5cd-4568-852f-b21022af8640")
    ICaoProvMessage : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateTime( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Destination( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Number( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reply( 
            /* [in] */ VARIANT vntData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICaoProvMessageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICaoProvMessage __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICaoProvMessage __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DateTime )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Destination )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Number )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            ICaoProvMessage __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reply )( 
            ICaoProvMessage __RPC_FAR * This,
            /* [in] */ VARIANT vntData);
        
        END_INTERFACE
    } ICaoProvMessageVtbl;

    interface ICaoProvMessage
    {
        CONST_VTBL struct ICaoProvMessageVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICaoProvMessage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICaoProvMessage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICaoProvMessage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICaoProvMessage_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ICaoProvMessage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ICaoProvMessage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ICaoProvMessage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ICaoProvMessage_get_DateTime(This,pVal)	\
    (This)->lpVtbl -> get_DateTime(This,pVal)

#define ICaoProvMessage_get_Description(This,pVal)	\
    (This)->lpVtbl -> get_Description(This,pVal)

#define ICaoProvMessage_get_Destination(This,pVal)	\
    (This)->lpVtbl -> get_Destination(This,pVal)

#define ICaoProvMessage_get_Number(This,pVal)	\
    (This)->lpVtbl -> get_Number(This,pVal)

#define ICaoProvMessage_get_Source(This,pVal)	\
    (This)->lpVtbl -> get_Source(This,pVal)

#define ICaoProvMessage_get_Value(This,pVal)	\
    (This)->lpVtbl -> get_Value(This,pVal)

#define ICaoProvMessage_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define ICaoProvMessage_Reply(This,vntData)	\
    (This)->lpVtbl -> Reply(This,vntData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvMessage_get_DateTime_Proxy( 
    ICaoProvMessage __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvMessage_get_DateTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvMessage_get_Description_Proxy( 
    ICaoProvMessage __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvMessage_get_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvMessage_get_Destination_Proxy( 
    ICaoProvMessage __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvMessage_get_Destination_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvMessage_get_Number_Proxy( 
    ICaoProvMessage __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB ICaoProvMessage_get_Number_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvMessage_get_Source_Proxy( 
    ICaoProvMessage __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB ICaoProvMessage_get_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICaoProvMessage_get_Value_Proxy( 
    ICaoProvMessage __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB ICaoProvMessage_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvMessage_Clear_Proxy( 
    ICaoProvMessage __RPC_FAR * This);


void __RPC_STUB ICaoProvMessage_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICaoProvMessage_Reply_Proxy( 
    ICaoProvMessage __RPC_FAR * This,
    /* [in] */ VARIANT vntData);


void __RPC_STUB ICaoProvMessage_Reply_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICaoProvMessage_INTERFACE_DEFINED__ */



#ifndef __CAOPROVLib_LIBRARY_DEFINED__
#define __CAOPROVLib_LIBRARY_DEFINED__

/* library CAOPROVLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_CAOPROVLib;

#ifndef ___ICaoProvControllerEvents_DISPINTERFACE_DEFINED__
#define ___ICaoProvControllerEvents_DISPINTERFACE_DEFINED__

/* dispinterface _ICaoProvControllerEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__ICaoProvControllerEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("90ec8be4-5552-4541-86d2-5fb082bfa0f8")
    _ICaoProvControllerEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _ICaoProvControllerEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            _ICaoProvControllerEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            _ICaoProvControllerEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            _ICaoProvControllerEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            _ICaoProvControllerEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            _ICaoProvControllerEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            _ICaoProvControllerEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            _ICaoProvControllerEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } _ICaoProvControllerEventsVtbl;

    interface _ICaoProvControllerEvents
    {
        CONST_VTBL struct _ICaoProvControllerEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _ICaoProvControllerEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _ICaoProvControllerEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _ICaoProvControllerEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _ICaoProvControllerEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _ICaoProvControllerEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _ICaoProvControllerEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _ICaoProvControllerEvents_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 	/* ___ICaoProvControllerEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CaoProvController;

#ifdef __cplusplus

class DECLSPEC_UUID("b0aaafa4-42a6-4063-89cb-de288dd26f58")
CaoProvController;
#endif

EXTERN_C const CLSID CLSID_CaoProvExtension;

#ifdef __cplusplus

class DECLSPEC_UUID("893a5aea-2d8b-4404-91e9-447e5ce93310")
CaoProvExtension;
#endif

EXTERN_C const CLSID CLSID_CaoProvFile;

#ifdef __cplusplus

class DECLSPEC_UUID("b62e56b0-42ab-460d-8278-83191ce7c6f1")
CaoProvFile;
#endif

EXTERN_C const CLSID CLSID_CaoProvRobot;

#ifdef __cplusplus

class DECLSPEC_UUID("c813051e-b391-4aa5-b22f-613b6b1fd6d4")
CaoProvRobot;
#endif

EXTERN_C const CLSID CLSID_CaoProvTask;

#ifdef __cplusplus

class DECLSPEC_UUID("5013642b-e8ac-4377-ad3c-9ac6edbadf3f")
CaoProvTask;
#endif

EXTERN_C const CLSID CLSID_CaoProvVariable;

#ifdef __cplusplus

class DECLSPEC_UUID("479ff09a-65a1-4f50-a63c-15c8d9b14cb6")
CaoProvVariable;
#endif

EXTERN_C const CLSID CLSID_CaoProvCommand;

#ifdef __cplusplus

class DECLSPEC_UUID("3a43c9e7-fd90-4a7d-bb33-42bdcef82fb4")
CaoProvCommand;
#endif

EXTERN_C const CLSID CLSID_CaoProvMessage;

#ifdef __cplusplus

class DECLSPEC_UUID("6bdc21c0-f6c1-4e73-a59b-8369e3b57a20")
CaoProvMessage;
#endif
#endif /* __CAOPROVLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif
