Windows/MFC

adoce31.h

aucd29 2013. 10. 2. 18:24
/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 5.01.0164 */
/* at Tue Jul 26 15:13:08 2005
*/
/* Compiler settings for adoce31.idl:
    Os (OptLev=s), 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 __adoce31_h__
#define __adoce31_h__

#ifdef __cplusplus
extern "C"{
#endif

/* Forward Declarations */

#ifndef __Field_FWD_DEFINED__
#define __Field_FWD_DEFINED__
typedef interface Field Field;
#endif     /* __Field_FWD_DEFINED__ */


#ifndef __Fields_FWD_DEFINED__
#define __Fields_FWD_DEFINED__
typedef interface Fields Fields;
#endif     /* __Fields_FWD_DEFINED__ */


#ifndef __ErrorParameters_FWD_DEFINED__
#define __ErrorParameters_FWD_DEFINED__
typedef interface ErrorParameters ErrorParameters;
#endif     /* __ErrorParameters_FWD_DEFINED__ */


#ifndef __Error_FWD_DEFINED__
#define __Error_FWD_DEFINED__
typedef interface Error Error;
#endif     /* __Error_FWD_DEFINED__ */


#ifndef __Errors_FWD_DEFINED__
#define __Errors_FWD_DEFINED__
typedef interface Errors Errors;
#endif     /* __Errors_FWD_DEFINED__ */


#ifndef ___Recordset_FWD_DEFINED__
#define ___Recordset_FWD_DEFINED__
typedef interface _Recordset _Recordset;
#endif     /* ___Recordset_FWD_DEFINED__ */


#ifndef ___Connection_FWD_DEFINED__
#define ___Connection_FWD_DEFINED__
typedef interface _Connection _Connection;
#endif     /* ___Connection_FWD_DEFINED__ */


#ifndef __IADOCEConnectionConstruction_FWD_DEFINED__
#define __IADOCEConnectionConstruction_FWD_DEFINED__
typedef interface IADOCEConnectionConstruction IADOCEConnectionConstruction;
#endif     /* __IADOCEConnectionConstruction_FWD_DEFINED__ */


#ifndef __IADOCESite_FWD_DEFINED__
#define __IADOCESite_FWD_DEFINED__
typedef interface IADOCESite IADOCESite;
#endif     /* __IADOCESite_FWD_DEFINED__ */


#ifndef __IADOCESetSite_FWD_DEFINED__
#define __IADOCESetSite_FWD_DEFINED__
typedef interface IADOCESetSite IADOCESetSite;
#endif     /* __IADOCESetSite_FWD_DEFINED__ */


#ifndef __IADOCEPrivErrors_FWD_DEFINED__
#define __IADOCEPrivErrors_FWD_DEFINED__
typedef interface IADOCEPrivErrors IADOCEPrivErrors;
#endif     /* __IADOCEPrivErrors_FWD_DEFINED__ */


#ifndef __Recordset_FWD_DEFINED__
#define __Recordset_FWD_DEFINED__

#ifdef __cplusplus
typedef class Recordset Recordset;
#else
typedef struct Recordset Recordset;
#endif /* __cplusplus */

#endif     /* __Recordset_FWD_DEFINED__ */


#ifndef __Connection_FWD_DEFINED__
#define __Connection_FWD_DEFINED__

#ifdef __cplusplus
typedef class Connection Connection;
#else
typedef struct Connection Connection;
#endif /* __cplusplus */

#endif     /* __Connection_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "adocec31.h"

void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * );

/* interface __MIDL_itf_adoce31_0000 */
/* [local] */


typedef /* [uuid] */
enum SeekEnum
    {    adSeekFirstEQ    = 1,
    adSeekLastEQ    = 2,
    adSeekAfterEQ    = 4,
    adSeekAfter    = 8,
    adSeekBeforeEQ    = 16,
    adSeekBefore    = 32
    }    SeekEnum;

typedef /* [uuid] */
enum SearchDirectionEnum
    {    adSearchForward    = 1,
    adSearchBackward    = -1
    }    SearchDirectionEnum;

typedef /* [uuid] */
enum IsolationLevelEnum
    {    adXactUnspecified    = -1,
    adXactChaos    = 16,
    adXactReadUncommitted    = 256,
    adXactBrowse    = 256,
    adXactCursorStability    = 4096,
    adXactReadCommitted    = 4096,
    adXactRepeatableRead    = 65536,
    adXactSerializable    = 1048576,
    adXactIsolated    = 1048576
    }    IsolationLevelEnum;

typedef /* [uuid] */
enum CursorTypeEnum
    {    adOpenUnspecified    = -1,
    adOpenForwardOnly    = 0,
    adOpenKeyset    = 1,
    adOpenDynamic    = 2,
    adOpenStatic    = 3
    }    CursorTypeEnum;

typedef /* [uuid] */
enum CursorOptionEnum
    {    adAddNew    = 0x1000400,
    adApproxPosition    = 0x4000,
    adBookmark    = 0x2000,
    adDelete    = 0x1000800,
    adHoldRecords    = 0x100,
    adMovePrevious    = 0x200,
    adResync    = 0x20000,
    adUpdate    = 0x1008000,
    adUpdateBatch    = 0x10000,
    adFind    = 0x80000,
    adSeek    = 0x400000,
    adIndex    = 0x800000
    }    CursorOptionEnum;

typedef /* [uuid] */
enum LockTypeEnum
    {    adLockUnspecified    = -1,
    adLockReadOnly    = 1,
    adLockPessimistic    = 2,
    adLockOptimistic    = 3
    }    LockTypeEnum;

typedef /* [uuid] */
enum EditModeEnum
    {    adEditNone    = 0,
    adEditInProgress    = 0x1,
    adEditAdd    = 0x2
    }    EditModeEnum;

typedef /* [uuid] */
enum CursorLocationEnum
    {    adUseNone    = 1,
    adUseServer    = 2
    }    CursorLocationEnum;

typedef /* [uuid] */
enum ConnectModeEnum
    {    adModeUnknown    = 0,
    adModeRead    = 1,
    adModeWrite    = 2,
    adModeReadWrite    = 3,
    adModeShareDenyRead    = 4,
    adModeShareDenyWrite    = 8,
    adModeShareExclusive    = 12,
    adModeShareDenyNone    = 16
    }    ConnectModeEnum;

typedef /* [uuid] */
enum SchemaEnum
    {    adSchemaProviderSpecific    = -1,
    adSchemaAsserts    = 0,
    adSchemaCatalogs    = 1,
    adSchemaCharacterSets    = 2,
    adSchemaCollations    = 3,
    adSchemaColumns    = 4,
    adSchemaCheckConstraints    = 5,
    adSchemaConstraintColumnUsage    = 6,
    adSchemaConstraintTableUsage    = 7,
    adSchemaKeyColumnUsage    = 8,
    adSchemaReferentialContraints    = 9,
    adSchemaReferentialConstraints    = 9,
    adSchemaTableConstraints    = 10,
    adSchemaColumnsDomainUsage    = 11,
    adSchemaIndexes    = 12,
    adSchemaColumnPrivileges    = 13,
    adSchemaTablePrivileges    = 14,
    adSchemaUsagePrivileges    = 15,
    adSchemaProcedures    = 16,
    adSchemaSchemata    = 17,
    adSchemaSQLLanguages    = 18,
    adSchemaStatistics    = 19,
    adSchemaTables    = 20,
    adSchemaTranslations    = 21,
    adSchemaProviderTypes    = 22,
    adSchemaViews    = 23,
    adSchemaViewColumnUsage    = 24,
    adSchemaViewTableUsage    = 25,
    adSchemaProcedureParameters    = 26,
    adSchemaForeignKeys    = 27,
    adSchemaPrimaryKeys    = 28,
    adSchemaProcedureColumns    = 29,
    adSchemaDBInfoKeywords    = 30,
    adSchemaDBInfoLiterals    = 31,
    adSchemaCubes    = 32,
    adSchemaDimensions    = 33,
    adSchemaHierarchies    = 34,
    adSchemaLevels    = 35,
    adSchemaMeasures    = 36,
    adSchemaProperties    = 37,
    adSchemaMembers    = 38,
    adSchemaTrustees    = 39,
    adSchemaTablesInfo    = 40
    }    SchemaEnum;



extern RPC_IF_HANDLE __MIDL_itf_adoce31_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_adoce31_0000_v0_0_s_ifspec;

#ifndef __Field_INTERFACE_DEFINED__
#define __Field_INTERFACE_DEFINED__

/* interface Field */
/* [unique][helpstring][oleautomation][nonextensible][dual][uuid][object] */


EXTERN_C const IID IID_Field;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033F4-F682-11D2-BB62-00C04F680ACC")
    Field : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ActualSize(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedSize(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Type(
            /* [retval][out] */ DataTypeEnum __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_UnderlyingValue(
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Precision(
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_NumericScale(
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AppendChunk(
            /* [in] */ VARIANT Data) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetChunk(
            /* [in] */ long Length,
            /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Value(
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Value(
            /* [in] */ VARIANT newVal) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct FieldVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            Field __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            Field __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            Field __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
            Field __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
            Field __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
            Field __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 )(
            Field __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);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActualSize )(
            Field __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )(
            Field __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefinedSize )(
            Field __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )(
            Field __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )(
            Field __RPC_FAR * This,
            /* [retval][out] */ DataTypeEnum __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnderlyingValue )(
            Field __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Precision )(
            Field __RPC_FAR * This,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumericScale )(
            Field __RPC_FAR * This,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendChunk )(
            Field __RPC_FAR * This,
            /* [in] */ VARIANT Data);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChunk )(
            Field __RPC_FAR * This,
            /* [in] */ long Length,
            /* [retval][out] */ VARIANT __RPC_FAR *pvar);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )(
            Field __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )(
            Field __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        END_INTERFACE
    } FieldVtbl;

    interface Field
    {
        CONST_VTBL struct FieldVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Field_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define Field_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define Field_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define Field_GetTypeInfoCount(This,pctinfo)    \
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define Field_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define Field_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define Field_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define Field_get_ActualSize(This,pVal)    \
    (This)->lpVtbl -> get_ActualSize(This,pVal)

#define Field_get_Attributes(This,pVal)    \
    (This)->lpVtbl -> get_Attributes(This,pVal)

#define Field_get_DefinedSize(This,pVal)    \
    (This)->lpVtbl -> get_DefinedSize(This,pVal)

#define Field_get_Name(This,pVal)    \
    (This)->lpVtbl -> get_Name(This,pVal)

#define Field_get_Type(This,pVal)    \
    (This)->lpVtbl -> get_Type(This,pVal)

#define Field_get_UnderlyingValue(This,pVal)    \
    (This)->lpVtbl -> get_UnderlyingValue(This,pVal)

#define Field_get_Precision(This,pVal)    \
    (This)->lpVtbl -> get_Precision(This,pVal)

#define Field_get_NumericScale(This,pVal)    \
    (This)->lpVtbl -> get_NumericScale(This,pVal)

#define Field_AppendChunk(This,Data)    \
    (This)->lpVtbl -> AppendChunk(This,Data)

#define Field_GetChunk(This,Length,pvar)    \
    (This)->lpVtbl -> GetChunk(This,Length,pvar)

#define Field_get_Value(This,pVal)    \
    (This)->lpVtbl -> get_Value(This,pVal)

#define Field_put_Value(This,newVal)    \
    (This)->lpVtbl -> put_Value(This,newVal)

#endif /* COBJMACROS */


#endif     /* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_ActualSize_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB Field_get_ActualSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_Attributes_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB Field_get_Attributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_DefinedSize_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB Field_get_DefinedSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_Name_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB Field_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_Type_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ DataTypeEnum __RPC_FAR *pVal);


void __RPC_STUB Field_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_UnderlyingValue_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB Field_get_UnderlyingValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_Precision_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB Field_get_Precision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_NumericScale_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB Field_get_NumericScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE Field_AppendChunk_Proxy(
    Field __RPC_FAR * This,
    /* [in] */ VARIANT Data);


void __RPC_STUB Field_AppendChunk_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE Field_GetChunk_Proxy(
    Field __RPC_FAR * This,
    /* [in] */ long Length,
    /* [retval][out] */ VARIANT __RPC_FAR *pvar);


void __RPC_STUB Field_GetChunk_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE Field_get_Value_Proxy(
    Field __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB Field_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE Field_put_Value_Proxy(
    Field __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB Field_put_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __Field_INTERFACE_DEFINED__ */


#ifndef __Fields_INTERFACE_DEFINED__
#define __Fields_INTERFACE_DEFINED__

/* interface Fields */
/* [unique][helpstring][dual][uuid][object] */


EXTERN_C const IID IID_Fields;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033F5-F682-11D2-BB62-00C04F680ACC")
    Fields : public _Collection
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
            /* [in] */ VARIANT varIndex,
            /* [retval][out] */ Field __RPC_FAR *__RPC_FAR *pVal) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct FieldsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            Fields __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            Fields __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            Fields __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
            Fields __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
            Fields __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
            Fields __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 )(
            Fields __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);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
            Fields __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )(
            Fields __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )(
            Fields __RPC_FAR * This);
        
        /* [propget][hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Element )(
            Fields __RPC_FAR * This,
            VARIANT __RPC_FAR *pvar,
            int index);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
            Fields __RPC_FAR * This,
            /* [in] */ VARIANT varIndex,
            /* [retval][out] */ Field __RPC_FAR *__RPC_FAR *pVal);
        
        END_INTERFACE
    } FieldsVtbl;

    interface Fields
    {
        CONST_VTBL struct FieldsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Fields_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define Fields_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define Fields_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define Fields_GetTypeInfoCount(This,pctinfo)    \
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define Fields_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define Fields_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define Fields_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define Fields_get_Count(This,pVal)    \
    (This)->lpVtbl -> get_Count(This,pVal)

#define Fields__NewEnum(This,ppvObject)    \
    (This)->lpVtbl -> _NewEnum(This,ppvObject)

#define Fields_Refresh(This)    \
    (This)->lpVtbl -> Refresh(This)

#define Fields_get_Element(This,pvar,index)    \
    (This)->lpVtbl -> get_Element(This,pvar,index)


#define Fields_get_Item(This,varIndex,pVal)    \
    (This)->lpVtbl -> get_Item(This,varIndex,pVal)

#endif /* COBJMACROS */


#endif     /* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE Fields_get_Item_Proxy(
    Fields __RPC_FAR * This,
    /* [in] */ VARIANT varIndex,
    /* [retval][out] */ Field __RPC_FAR *__RPC_FAR *pVal);


void __RPC_STUB Fields_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __Fields_INTERFACE_DEFINED__ */


#ifndef __ErrorParameters_INTERFACE_DEFINED__
#define __ErrorParameters_INTERFACE_DEFINED__

/* interface ErrorParameters */
/* [unique][helpstring][dual][uuid][object] */


EXTERN_C const IID IID_ErrorParameters;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E1BDE5E5-887C-4B42-A94E-B6F74C9E24D2")
    ErrorParameters : public _Collection
    {
    public:
        virtual /* [propget][id] */ HRESULT __stdcall get_Item(
            /* [in] */ VARIANT Index,
            /* [retval][out] */ VARIANT __RPC_FAR *pItemVal) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct ErrorParametersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            ErrorParameters __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            ErrorParameters __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            ErrorParameters __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
            ErrorParameters __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
            ErrorParameters __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
            ErrorParameters __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 )(
            ErrorParameters __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);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
            ErrorParameters __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )(
            ErrorParameters __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )(
            ErrorParameters __RPC_FAR * This);
        
        /* [propget][hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Element )(
            ErrorParameters __RPC_FAR * This,
            VARIANT __RPC_FAR *pvar,
            int index);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Item )(
            ErrorParameters __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ VARIANT __RPC_FAR *pItemVal);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )(
            ErrorParameters __RPC_FAR * This);
        
        END_INTERFACE
    } ErrorParametersVtbl;

    interface ErrorParameters
    {
        CONST_VTBL struct ErrorParametersVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ErrorParameters_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ErrorParameters_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define ErrorParameters_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define ErrorParameters_GetTypeInfoCount(This,pctinfo)    \
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ErrorParameters_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ErrorParameters_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ErrorParameters_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ErrorParameters_get_Count(This,pVal)    \
    (This)->lpVtbl -> get_Count(This,pVal)

#define ErrorParameters__NewEnum(This,ppvObject)    \
    (This)->lpVtbl -> _NewEnum(This,ppvObject)

#define ErrorParameters_Refresh(This)    \
    (This)->lpVtbl -> Refresh(This)

#define ErrorParameters_get_Element(This,pvar,index)    \
    (This)->lpVtbl -> get_Element(This,pvar,index)


#define ErrorParameters_get_Item(This,Index,pItemVal)    \
    (This)->lpVtbl -> get_Item(This,Index,pItemVal)

#define ErrorParameters_Clear(This)    \
    (This)->lpVtbl -> Clear(This)

#endif /* COBJMACROS */


#endif     /* C style interface */



/* [propget][id] */ HRESULT __stdcall ErrorParameters_get_Item_Proxy(
    ErrorParameters __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ VARIANT __RPC_FAR *pItemVal);


void __RPC_STUB ErrorParameters_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE ErrorParameters_Clear_Proxy(
    ErrorParameters __RPC_FAR * This);


void __RPC_STUB ErrorParameters_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __ErrorParameters_INTERFACE_DEFINED__ */


#ifndef __Error_INTERFACE_DEFINED__
#define __Error_INTERFACE_DEFINED__

/* interface Error */
/* [unique][helpstring][dual][uuid][object] */


EXTERN_C const IID IID_Error;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033F0-F682-11D2-BB62-00C04F680ACC")
    Error : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Description(
            /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Number(
            /* [retval][out] */ long __RPC_FAR *pl) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Source(
            /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HelpFile(
            /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HelpContext(
            /* [retval][out] */ DWORD __RPC_FAR *pl) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NativeError(
            /* [retval][out] */ long __RPC_FAR *pl) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ErrorParameters(
            /* [retval][out] */ ErrorParameters __RPC_FAR *__RPC_FAR *ppIErrorParameters) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct ErrorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            Error __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            Error __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            Error __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
            Error __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
            Error __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
            Error __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 )(
            Error __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);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )(
            Error __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Number )(
            Error __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pl);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )(
            Error __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpFile )(
            Error __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpContext )(
            Error __RPC_FAR * This,
            /* [retval][out] */ DWORD __RPC_FAR *pl);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NativeError )(
            Error __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pl);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ErrorParameters )(
            Error __RPC_FAR * This,
            /* [retval][out] */ ErrorParameters __RPC_FAR *__RPC_FAR *ppIErrorParameters);
        
        END_INTERFACE
    } ErrorVtbl;

    interface Error
    {
        CONST_VTBL struct ErrorVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Error_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define Error_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define Error_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define Error_GetTypeInfoCount(This,pctinfo)    \
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define Error_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define Error_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define Error_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define Error_get_Description(This,pbstr)    \
    (This)->lpVtbl -> get_Description(This,pbstr)

#define Error_get_Number(This,pl)    \
    (This)->lpVtbl -> get_Number(This,pl)

#define Error_get_Source(This,pbstr)    \
    (This)->lpVtbl -> get_Source(This,pbstr)

#define Error_get_HelpFile(This,pbstr)    \
    (This)->lpVtbl -> get_HelpFile(This,pbstr)

#define Error_get_HelpContext(This,pl)    \
    (This)->lpVtbl -> get_HelpContext(This,pl)

#define Error_get_NativeError(This,pl)    \
    (This)->lpVtbl -> get_NativeError(This,pl)

#define Error_get_ErrorParameters(This,ppIErrorParameters)    \
    (This)->lpVtbl -> get_ErrorParameters(This,ppIErrorParameters)

#endif /* COBJMACROS */


#endif     /* C style interface */



/* [propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_Description_Proxy(
    Error __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstr);


void __RPC_STUB Error_get_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_Number_Proxy(
    Error __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pl);


void __RPC_STUB Error_get_Number_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_Source_Proxy(
    Error __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstr);


void __RPC_STUB Error_get_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_HelpFile_Proxy(
    Error __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstr);


void __RPC_STUB Error_get_HelpFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_HelpContext_Proxy(
    Error __RPC_FAR * This,
    /* [retval][out] */ DWORD __RPC_FAR *pl);


void __RPC_STUB Error_get_HelpContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_NativeError_Proxy(
    Error __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pl);


void __RPC_STUB Error_get_NativeError_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_ErrorParameters_Proxy(
    Error __RPC_FAR * This,
    /* [retval][out] */ ErrorParameters __RPC_FAR *__RPC_FAR *ppIErrorParameters);


void __RPC_STUB Error_get_ErrorParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __Error_INTERFACE_DEFINED__ */


#ifndef __Errors_INTERFACE_DEFINED__
#define __Errors_INTERFACE_DEFINED__

/* interface Errors */
/* [unique][helpstring][dual][uuid][object] */


EXTERN_C const IID IID_Errors;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033EF-F682-11D2-BB62-00C04F680ACC")
    Errors : public _Collection
    {
    public:
        virtual /* [propget][id] */ HRESULT __stdcall get_Item(
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Error __RPC_FAR *__RPC_FAR *ppvObject) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct ErrorsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            Errors __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            Errors __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            Errors __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
            Errors __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
            Errors __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
            Errors __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 )(
            Errors __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);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
            Errors __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )(
            Errors __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )(
            Errors __RPC_FAR * This);
        
        /* [propget][hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Element )(
            Errors __RPC_FAR * This,
            VARIANT __RPC_FAR *pvar,
            int index);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Item )(
            Errors __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Error __RPC_FAR *__RPC_FAR *ppvObject);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )(
            Errors __RPC_FAR * This);
        
        END_INTERFACE
    } ErrorsVtbl;

    interface Errors
    {
        CONST_VTBL struct ErrorsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Errors_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define Errors_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define Errors_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define Errors_GetTypeInfoCount(This,pctinfo)    \
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define Errors_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define Errors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define Errors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define Errors_get_Count(This,pVal)    \
    (This)->lpVtbl -> get_Count(This,pVal)

#define Errors__NewEnum(This,ppvObject)    \
    (This)->lpVtbl -> _NewEnum(This,ppvObject)

#define Errors_Refresh(This)    \
    (This)->lpVtbl -> Refresh(This)

#define Errors_get_Element(This,pvar,index)    \
    (This)->lpVtbl -> get_Element(This,pvar,index)


#define Errors_get_Item(This,Index,ppvObject)    \
    (This)->lpVtbl -> get_Item(This,Index,ppvObject)

#define Errors_Clear(This)    \
    (This)->lpVtbl -> Clear(This)

#endif /* COBJMACROS */


#endif     /* C style interface */



/* [propget][id] */ HRESULT __stdcall Errors_get_Item_Proxy(
    Errors __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ Error __RPC_FAR *__RPC_FAR *ppvObject);


void __RPC_STUB Errors_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE Errors_Clear_Proxy(
    Errors __RPC_FAR * This);


void __RPC_STUB Errors_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __Errors_INTERFACE_DEFINED__ */


#ifndef ___Recordset_INTERFACE_DEFINED__
#define ___Recordset_INTERFACE_DEFINED__

/* interface _Recordset */
/* [unique][helpstring][dual][uuid][object] */


EXTERN_C const IID IID__Recordset;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033F6-F682-11D2-BB62-00C04F680ACC")
    _Recordset : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddNew(
            /* [optional][in] */ VARIANT FieldList,
            /* [optional][in] */ VARIANT Values) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CancelUpdate( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clone(
            /* [defaultvalue][optional][in] */ LockTypeEnum LockType,
            /* [out][retval] */ _Recordset __RPC_FAR *__RPC_FAR *ppvObject) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete(
            /* [defaultvalue][in] */ long AffectRecords = 1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetRows(
            /* [defaultvalue][in] */ long Rows,
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Fields,
            /* [out][retval] */ VARIANT __RPC_FAR *pvar) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Move(
            /* [in] */ long NumRecords,
            /* [optional][in] */ VARIANT Start) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE MoveFirst( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE MoveLast( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE MoveNext( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE MovePrevious( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Open(
            /* [optional][in] */ VARIANT Source,
            /* [optional][in] */ VARIANT ActiveConnection,
            /* [defaultvalue][in] */ CursorTypeEnum CursorType = adOpenUnspecified,
            /* [defaultvalue][in] */ LockTypeEnum LockType = adLockUnspecified,
            /* [defaultvalue][in] */ long Options = -1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Requery( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Supports(
            /* [in] */ CursorOptionEnum CursorOptions,
            /* [out][retval] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Update(
            /* [optional][in] */ VARIANT Fields,
            /* [optional][in] */ VARIANT Values) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_AbsolutePage(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_AbsolutePage(
            /* [in] */ long newVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_AbsolutePosition(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_AbsolutePosition(
            /* [in] */ long newVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_BOF(
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Bookmark(
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Bookmark(
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CacheSize(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_CacheSize(
            /* [in] */ long newVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CursorType(
            /* [retval][out] */ CursorTypeEnum __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_CursorType(
            /* [in] */ CursorTypeEnum newVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_EditMode(
            /* [retval][out] */ EditModeEnum __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_EOF(
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Fields(
            /* [retval][out] */ Fields __RPC_FAR *__RPC_FAR *pvObject) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_LockType(
            /* [retval][out] */ LockTypeEnum __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_LockType(
            /* [in] */ LockTypeEnum newVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_PageCount(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_PageSize(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_PageSize(
            /* [in] */ long newVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_RecordCount(
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Source(
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Source(
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_Source(
            /* [in] */ IDispatch __RPC_FAR *pIDispatch) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection(
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection(
            /* [retval][out] */ VARIANT __RPC_FAR *pConn) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection(
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Find(
            /* [in] */ BSTR Criteria,
            /* [defaultvalue][optional][in] */ long SkipRecords,
            /* [defaultvalue][optional][in] */ SearchDirectionEnum SearchDirection,
            /* [optional][in] */ VARIANT Start) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Seek(
            /* [in] */ VARIANT KeyValues,
            /* [defaultvalue][optional][in] */ SeekEnum SeekOption = adSeekFirstEQ) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Index(
            /* [retval][out] */ BSTR __RPC_FAR *pbstrIndex) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Index(
            /* [in] */ BSTR pbstrIndex) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Filter(
            /* [retval][out] */ VARIANT __RPC_FAR *Criteria) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Filter(
            /* [in] */ VARIANT Criteria) = 0;
        
        virtual /* [id][propget] */ HRESULT __stdcall get_Properties(
            /* [retval][out] */ Properties __RPC_FAR *__RPC_FAR *ppProperties) = 0;
        
        virtual /* [id][propget] */ HRESULT __stdcall get_State(
            /* [retval][out] */ long __RPC_FAR *plObjState) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT __stdcall get_Collect(
            /* [in] */ VARIANT Index,
            /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct _RecordsetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            _Recordset __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            _Recordset __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            _Recordset __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
            _Recordset __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
            _Recordset __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
            _Recordset __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 )(
            _Recordset __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);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddNew )(
            _Recordset __RPC_FAR * This,
            /* [optional][in] */ VARIANT FieldList,
            /* [optional][in] */ VARIANT Values);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelUpdate )(
            _Recordset __RPC_FAR * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
            _Recordset __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ LockTypeEnum LockType,
            /* [out][retval] */ _Recordset __RPC_FAR *__RPC_FAR *ppvObject);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
            _Recordset __RPC_FAR * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )(
            _Recordset __RPC_FAR * This,
            /* [defaultvalue][in] */ long AffectRecords);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRows )(
            _Recordset __RPC_FAR * This,
            /* [defaultvalue][in] */ long Rows,
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Fields,
            /* [out][retval] */ VARIANT __RPC_FAR *pvar);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )(
            _Recordset __RPC_FAR * This,
            /* [in] */ long NumRecords,
            /* [optional][in] */ VARIANT Start);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveFirst )(
            _Recordset __RPC_FAR * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveLast )(
            _Recordset __RPC_FAR * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveNext )(
            _Recordset __RPC_FAR * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MovePrevious )(
            _Recordset __RPC_FAR * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
            _Recordset __RPC_FAR * This,
            /* [optional][in] */ VARIANT Source,
            /* [optional][in] */ VARIANT ActiveConnection,
            /* [defaultvalue][in] */ CursorTypeEnum CursorType,
            /* [defaultvalue][in] */ LockTypeEnum LockType,
            /* [defaultvalue][in] */ long Options);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Requery )(
            _Recordset __RPC_FAR * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Supports )(
            _Recordset __RPC_FAR * This,
            /* [in] */ CursorOptionEnum CursorOptions,
            /* [out][retval] */ VARIANT_BOOL __RPC_FAR *pb);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )(
            _Recordset __RPC_FAR * This,
            /* [optional][in] */ VARIANT Fields,
            /* [optional][in] */ VARIANT Values);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePage )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePage )(
            _Recordset __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePosition )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePosition )(
            _Recordset __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BOF )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bookmark )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bookmark )(
            _Recordset __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CacheSize )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CacheSize )(
            _Recordset __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorType )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ CursorTypeEnum __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorType )(
            _Recordset __RPC_FAR * This,
            /* [in] */ CursorTypeEnum newVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EditMode )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ EditModeEnum __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EOF )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fields )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ Fields __RPC_FAR *__RPC_FAR *pvObject);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LockType )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ LockTypeEnum __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LockType )(
            _Recordset __RPC_FAR * This,
            /* [in] */ LockTypeEnum newVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageCount )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageSize )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PageSize )(
            _Recordset __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RecordCount )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Source )(
            _Recordset __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Source )(
            _Recordset __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *pIDispatch);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveConnection )(
            _Recordset __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pConn);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )(
            _Recordset __RPC_FAR * This,
            /* [in] */ VARIANT newVal);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Find )(
            _Recordset __RPC_FAR * This,
            /* [in] */ BSTR Criteria,
            /* [defaultvalue][optional][in] */ long SkipRecords,
            /* [defaultvalue][optional][in] */ SearchDirectionEnum SearchDirection,
            /* [optional][in] */ VARIANT Start);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )(
            _Recordset __RPC_FAR * This,
            /* [in] */ VARIANT KeyValues,
            /* [defaultvalue][optional][in] */ SeekEnum SeekOption);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstrIndex);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Index )(
            _Recordset __RPC_FAR * This,
            /* [in] */ BSTR pbstrIndex);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Filter )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *Criteria);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Filter )(
            _Recordset __RPC_FAR * This,
            /* [in] */ VARIANT Criteria);
        
        /* [id][propget] */ HRESULT ( __stdcall __RPC_FAR *get_Properties )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ Properties __RPC_FAR *__RPC_FAR *ppProperties);
        
        /* [id][propget] */ HRESULT ( __stdcall __RPC_FAR *get_State )(
            _Recordset __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *plObjState);
        
        /* [hidden][propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Collect )(
            _Recordset __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ VARIANT __RPC_FAR *pvar);
        
        END_INTERFACE
    } _RecordsetVtbl;

    interface _Recordset
    {
        CONST_VTBL struct _RecordsetVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _Recordset_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _Recordset_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define _Recordset_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define _Recordset_GetTypeInfoCount(This,pctinfo)    \
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _Recordset_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _Recordset_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _Recordset_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define _Recordset_AddNew(This,FieldList,Values)    \
    (This)->lpVtbl -> AddNew(This,FieldList,Values)

#define _Recordset_CancelUpdate(This)    \
    (This)->lpVtbl -> CancelUpdate(This)

#define _Recordset_Clone(This,LockType,ppvObject)    \
    (This)->lpVtbl -> Clone(This,LockType,ppvObject)

#define _Recordset_Close(This)    \
    (This)->lpVtbl -> Close(This)

#define _Recordset_Delete(This,AffectRecords)    \
    (This)->lpVtbl -> Delete(This,AffectRecords)

#define _Recordset_GetRows(This,Rows,Start,Fields,pvar)    \
    (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)

#define _Recordset_Move(This,NumRecords,Start)    \
    (This)->lpVtbl -> Move(This,NumRecords,Start)

#define _Recordset_MoveFirst(This)    \
    (This)->lpVtbl -> MoveFirst(This)

#define _Recordset_MoveLast(This)    \
    (This)->lpVtbl -> MoveLast(This)

#define _Recordset_MoveNext(This)    \
    (This)->lpVtbl -> MoveNext(This)

#define _Recordset_MovePrevious(This)    \
    (This)->lpVtbl -> MovePrevious(This)

#define _Recordset_Open(This,Source,ActiveConnection,CursorType,LockType,Options)    \
    (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)

#define _Recordset_Requery(This)    \
    (This)->lpVtbl -> Requery(This)

#define _Recordset_Supports(This,CursorOptions,pb)    \
    (This)->lpVtbl -> Supports(This,CursorOptions,pb)

#define _Recordset_Update(This,Fields,Values)    \
    (This)->lpVtbl -> Update(This,Fields,Values)

#define _Recordset_get_AbsolutePage(This,pVal)    \
    (This)->lpVtbl -> get_AbsolutePage(This,pVal)

#define _Recordset_put_AbsolutePage(This,newVal)    \
    (This)->lpVtbl -> put_AbsolutePage(This,newVal)

#define _Recordset_get_AbsolutePosition(This,pVal)    \
    (This)->lpVtbl -> get_AbsolutePosition(This,pVal)

#define _Recordset_put_AbsolutePosition(This,newVal)    \
    (This)->lpVtbl -> put_AbsolutePosition(This,newVal)

#define _Recordset_get_BOF(This,pVal)    \
    (This)->lpVtbl -> get_BOF(This,pVal)

#define _Recordset_get_Bookmark(This,pVal)    \
    (This)->lpVtbl -> get_Bookmark(This,pVal)

#define _Recordset_put_Bookmark(This,newVal)    \
    (This)->lpVtbl -> put_Bookmark(This,newVal)

#define _Recordset_get_CacheSize(This,pVal)    \
    (This)->lpVtbl -> get_CacheSize(This,pVal)

#define _Recordset_put_CacheSize(This,newVal)    \
    (This)->lpVtbl -> put_CacheSize(This,newVal)

#define _Recordset_get_CursorType(This,pVal)    \
    (This)->lpVtbl -> get_CursorType(This,pVal)

#define _Recordset_put_CursorType(This,newVal)    \
    (This)->lpVtbl -> put_CursorType(This,newVal)

#define _Recordset_get_EditMode(This,pVal)    \
    (This)->lpVtbl -> get_EditMode(This,pVal)

#define _Recordset_get_EOF(This,pVal)    \
    (This)->lpVtbl -> get_EOF(This,pVal)

#define _Recordset_get_Fields(This,pvObject)    \
    (This)->lpVtbl -> get_Fields(This,pvObject)

#define _Recordset_get_LockType(This,pVal)    \
    (This)->lpVtbl -> get_LockType(This,pVal)

#define _Recordset_put_LockType(This,newVal)    \
    (This)->lpVtbl -> put_LockType(This,newVal)

#define _Recordset_get_PageCount(This,pVal)    \
    (This)->lpVtbl -> get_PageCount(This,pVal)

#define _Recordset_get_PageSize(This,pVal)    \
    (This)->lpVtbl -> get_PageSize(This,pVal)

#define _Recordset_put_PageSize(This,newVal)    \
    (This)->lpVtbl -> put_PageSize(This,newVal)

#define _Recordset_get_RecordCount(This,pVal)    \
    (This)->lpVtbl -> get_RecordCount(This,pVal)

#define _Recordset_get_Source(This,pVal)    \
    (This)->lpVtbl -> get_Source(This,pVal)

#define _Recordset_put_Source(This,newVal)    \
    (This)->lpVtbl -> put_Source(This,newVal)

#define _Recordset_putref_Source(This,pIDispatch)    \
    (This)->lpVtbl -> putref_Source(This,pIDispatch)

#define _Recordset_putref_ActiveConnection(This,newVal)    \
    (This)->lpVtbl -> putref_ActiveConnection(This,newVal)

#define _Recordset_get_ActiveConnection(This,pConn)    \
    (This)->lpVtbl -> get_ActiveConnection(This,pConn)

#define _Recordset_put_ActiveConnection(This,newVal)    \
    (This)->lpVtbl -> put_ActiveConnection(This,newVal)

#define _Recordset_Find(This,Criteria,SkipRecords,SearchDirection,Start)    \
    (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)

#define _Recordset_Seek(This,KeyValues,SeekOption)    \
    (This)->lpVtbl -> Seek(This,KeyValues,SeekOption)

#define _Recordset_get_Index(This,pbstrIndex)    \
    (This)->lpVtbl -> get_Index(This,pbstrIndex)

#define _Recordset_put_Index(This,pbstrIndex)    \
    (This)->lpVtbl -> put_Index(This,pbstrIndex)

#define _Recordset_get_Filter(This,Criteria)    \
    (This)->lpVtbl -> get_Filter(This,Criteria)

#define _Recordset_put_Filter(This,Criteria)    \
    (This)->lpVtbl -> put_Filter(This,Criteria)

#define _Recordset_get_Properties(This,ppProperties)    \
    (This)->lpVtbl -> get_Properties(This,ppProperties)

#define _Recordset_get_State(This,plObjState)    \
    (This)->lpVtbl -> get_State(This,plObjState)

#define _Recordset_get_Collect(This,Index,pvar)    \
    (This)->lpVtbl -> get_Collect(This,Index,pvar)

#endif /* COBJMACROS */


#endif     /* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_AddNew_Proxy(
    _Recordset __RPC_FAR * This,
    /* [optional][in] */ VARIANT FieldList,
    /* [optional][in] */ VARIANT Values);


void __RPC_STUB _Recordset_AddNew_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_CancelUpdate_Proxy(
    _Recordset __RPC_FAR * This);


void __RPC_STUB _Recordset_CancelUpdate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Clone_Proxy(
    _Recordset __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ LockTypeEnum LockType,
    /* [out][retval] */ _Recordset __RPC_FAR *__RPC_FAR *ppvObject);


void __RPC_STUB _Recordset_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Close_Proxy(
    _Recordset __RPC_FAR * This);


void __RPC_STUB _Recordset_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Delete_Proxy(
    _Recordset __RPC_FAR * This,
    /* [defaultvalue][in] */ long AffectRecords);


void __RPC_STUB _Recordset_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_GetRows_Proxy(
    _Recordset __RPC_FAR * This,
    /* [defaultvalue][in] */ long Rows,
    /* [optional][in] */ VARIANT Start,
    /* [optional][in] */ VARIANT Fields,
    /* [out][retval] */ VARIANT __RPC_FAR *pvar);


void __RPC_STUB _Recordset_GetRows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Move_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ long NumRecords,
    /* [optional][in] */ VARIANT Start);


void __RPC_STUB _Recordset_Move_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_MoveFirst_Proxy(
    _Recordset __RPC_FAR * This);


void __RPC_STUB _Recordset_MoveFirst_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_MoveLast_Proxy(
    _Recordset __RPC_FAR * This);


void __RPC_STUB _Recordset_MoveLast_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_MoveNext_Proxy(
    _Recordset __RPC_FAR * This);


void __RPC_STUB _Recordset_MoveNext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_MovePrevious_Proxy(
    _Recordset __RPC_FAR * This);


void __RPC_STUB _Recordset_MovePrevious_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Open_Proxy(
    _Recordset __RPC_FAR * This,
    /* [optional][in] */ VARIANT Source,
    /* [optional][in] */ VARIANT ActiveConnection,
    /* [defaultvalue][in] */ CursorTypeEnum CursorType,
    /* [defaultvalue][in] */ LockTypeEnum LockType,
    /* [defaultvalue][in] */ long Options);


void __RPC_STUB _Recordset_Open_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Requery_Proxy(
    _Recordset __RPC_FAR * This);


void __RPC_STUB _Recordset_Requery_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Supports_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ CursorOptionEnum CursorOptions,
    /* [out][retval] */ VARIANT_BOOL __RPC_FAR *pb);


void __RPC_STUB _Recordset_Supports_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Update_Proxy(
    _Recordset __RPC_FAR * This,
    /* [optional][in] */ VARIANT Fields,
    /* [optional][in] */ VARIANT Values);


void __RPC_STUB _Recordset_Update_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_AbsolutePage_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_AbsolutePage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_AbsolutePage_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ long newVal);


void __RPC_STUB _Recordset_put_AbsolutePage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_AbsolutePosition_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_AbsolutePosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_AbsolutePosition_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ long newVal);


void __RPC_STUB _Recordset_put_AbsolutePosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_BOF_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_BOF_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Bookmark_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_Bookmark_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Bookmark_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB _Recordset_put_Bookmark_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_CacheSize_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_CacheSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_CacheSize_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ long newVal);


void __RPC_STUB _Recordset_put_CacheSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_CursorType_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ CursorTypeEnum __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_CursorType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_CursorType_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ CursorTypeEnum newVal);


void __RPC_STUB _Recordset_put_CursorType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_EditMode_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ EditModeEnum __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_EditMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_EOF_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_EOF_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Fields_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ Fields __RPC_FAR *__RPC_FAR *pvObject);


void __RPC_STUB _Recordset_get_Fields_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_LockType_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ LockTypeEnum __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_LockType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_LockType_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ LockTypeEnum newVal);


void __RPC_STUB _Recordset_put_LockType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_PageCount_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_PageCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_PageSize_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_PageSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_PageSize_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ long newVal);


void __RPC_STUB _Recordset_put_PageSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_RecordCount_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_RecordCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Source_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB _Recordset_get_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Source_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB _Recordset_put_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propputref] */ HRESULT STDMETHODCALLTYPE _Recordset_putref_Source_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ IDispatch __RPC_FAR *pIDispatch);


void __RPC_STUB _Recordset_putref_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propputref] */ HRESULT STDMETHODCALLTYPE _Recordset_putref_ActiveConnection_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB _Recordset_putref_ActiveConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_ActiveConnection_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pConn);


void __RPC_STUB _Recordset_get_ActiveConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_ActiveConnection_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB _Recordset_put_ActiveConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Find_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ BSTR Criteria,
    /* [defaultvalue][optional][in] */ long SkipRecords,
    /* [defaultvalue][optional][in] */ SearchDirectionEnum SearchDirection,
    /* [optional][in] */ VARIANT Start);


void __RPC_STUB _Recordset_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Seek_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ VARIANT KeyValues,
    /* [defaultvalue][optional][in] */ SeekEnum SeekOption);


void __RPC_STUB _Recordset_Seek_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Index_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstrIndex);


void __RPC_STUB _Recordset_get_Index_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Index_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ BSTR pbstrIndex);


void __RPC_STUB _Recordset_put_Index_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Filter_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *Criteria);


void __RPC_STUB _Recordset_get_Filter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Filter_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ VARIANT Criteria);


void __RPC_STUB _Recordset_put_Filter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT __stdcall _Recordset_get_Properties_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ Properties __RPC_FAR *__RPC_FAR *ppProperties);


void __RPC_STUB _Recordset_get_Properties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT __stdcall _Recordset_get_State_Proxy(
    _Recordset __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *plObjState);


void __RPC_STUB _Recordset_get_State_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [hidden][propget][id] */ HRESULT __stdcall _Recordset_get_Collect_Proxy(
    _Recordset __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ VARIANT __RPC_FAR *pvar);


void __RPC_STUB _Recordset_get_Collect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* ___Recordset_INTERFACE_DEFINED__ */


#ifndef ___Connection_INTERFACE_DEFINED__
#define ___Connection_INTERFACE_DEFINED__

/* interface _Connection */
/* [unique][helpstring][dual][uuid][object] */


EXTERN_C const IID IID__Connection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033DE-F682-11D2-BB62-00C04F680ACC")
    _Connection : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT __stdcall get_ConnectionString(
            /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
        
        virtual /* [propput][id] */ HRESULT __stdcall put_ConnectionString(
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_Version(
            /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
        
        virtual /* [id] */ HRESULT __stdcall Close( void) = 0;
        
        virtual /* [id] */ HRESULT __stdcall Execute(
            /* [in] */ BSTR CommandText,
            /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
            /* [defaultvalue][optional][in] */ long Options,
            /* [retval][out] */ _Recordset __RPC_FAR *__RPC_FAR *ppiRset) = 0;
        
        virtual /* [id] */ HRESULT __stdcall BeginTrans(
            /* [retval][out] */ long __RPC_FAR *TransactionLevel) = 0;
        
        virtual /* [id] */ HRESULT __stdcall CommitTrans( void) = 0;
        
        virtual /* [id] */ HRESULT __stdcall RollbackTrans( void) = 0;
        
        virtual /* [id] */ HRESULT __stdcall Open(
            /* [defaultvalue][optional][in] */ BSTR ConnectionString = L"",
            /* [defaultvalue][optional][in] */ BSTR UserID = L"",
            /* [defaultvalue][optional][in] */ BSTR Password = L"",
            /* [defaultvalue][optional][in] */ long Options = -1) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_Errors(
            /* [retval][out] */ Errors __RPC_FAR *__RPC_FAR *ppErrors) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_DefaultDatabase(
            /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
        
        virtual /* [propput][id] */ HRESULT __stdcall put_DefaultDatabase(
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_IsolationLevel(
            /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level) = 0;
        
        virtual /* [propput][id] */ HRESULT __stdcall put_IsolationLevel(
            /* [in] */ IsolationLevelEnum Level) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_Attributes(
            /* [retval][out] */ long __RPC_FAR *plAttr) = 0;
        
        virtual /* [propput][id] */ HRESULT __stdcall put_Attributes(
            /* [in] */ long plAttr) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_CursorLocation(
            /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc) = 0;
        
        virtual /* [propput][id] */ HRESULT __stdcall put_CursorLocation(
            /* [in] */ CursorLocationEnum plCursorLoc) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_Mode(
            /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode) = 0;
        
        virtual /* [propput][id] */ HRESULT __stdcall put_Mode(
            /* [in] */ ConnectModeEnum plMode) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_Provider(
            /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
        
        virtual /* [propput][id] */ HRESULT __stdcall put_Provider(
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_State(
            /* [retval][out] */ long __RPC_FAR *plObjState) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get_Properties(
            /* [retval][out] */ Properties __RPC_FAR *__RPC_FAR *ppProperties) = 0;
        
        virtual /* [id] */ HRESULT __stdcall OpenSchema(
            /* [in] */ SchemaEnum Schema,
            /* [optional][in] */ VARIANT Restrictions,
            /* [optional][in] */ VARIANT SchemaID,
            /* [retval][out] */ _Recordset __RPC_FAR *__RPC_FAR *pprset) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct _ConnectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            _Connection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            _Connection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            _Connection __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
            _Connection __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
            _Connection __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
            _Connection __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 )(
            _Connection __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);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_ConnectionString )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstr);
        
        /* [propput][id] */ HRESULT ( __stdcall __RPC_FAR *put_ConnectionString )(
            _Connection __RPC_FAR * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Version )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstr);
        
        /* [id] */ HRESULT ( __stdcall __RPC_FAR *Close )(
            _Connection __RPC_FAR * This);
        
        /* [id] */ HRESULT ( __stdcall __RPC_FAR *Execute )(
            _Connection __RPC_FAR * This,
            /* [in] */ BSTR CommandText,
            /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
            /* [defaultvalue][optional][in] */ long Options,
            /* [retval][out] */ _Recordset __RPC_FAR *__RPC_FAR *ppiRset);
        
        /* [id] */ HRESULT ( __stdcall __RPC_FAR *BeginTrans )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *TransactionLevel);
        
        /* [id] */ HRESULT ( __stdcall __RPC_FAR *CommitTrans )(
            _Connection __RPC_FAR * This);
        
        /* [id] */ HRESULT ( __stdcall __RPC_FAR *RollbackTrans )(
            _Connection __RPC_FAR * This);
        
        /* [id] */ HRESULT ( __stdcall __RPC_FAR *Open )(
            _Connection __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ BSTR ConnectionString,
            /* [defaultvalue][optional][in] */ BSTR UserID,
            /* [defaultvalue][optional][in] */ BSTR Password,
            /* [defaultvalue][optional][in] */ long Options);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Errors )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ Errors __RPC_FAR *__RPC_FAR *ppErrors);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_DefaultDatabase )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstr);
        
        /* [propput][id] */ HRESULT ( __stdcall __RPC_FAR *put_DefaultDatabase )(
            _Connection __RPC_FAR * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_IsolationLevel )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level);
        
        /* [propput][id] */ HRESULT ( __stdcall __RPC_FAR *put_IsolationLevel )(
            _Connection __RPC_FAR * This,
            /* [in] */ IsolationLevelEnum Level);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Attributes )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *plAttr);
        
        /* [propput][id] */ HRESULT ( __stdcall __RPC_FAR *put_Attributes )(
            _Connection __RPC_FAR * This,
            /* [in] */ long plAttr);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_CursorLocation )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
        
        /* [propput][id] */ HRESULT ( __stdcall __RPC_FAR *put_CursorLocation )(
            _Connection __RPC_FAR * This,
            /* [in] */ CursorLocationEnum plCursorLoc);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Mode )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode);
        
        /* [propput][id] */ HRESULT ( __stdcall __RPC_FAR *put_Mode )(
            _Connection __RPC_FAR * This,
            /* [in] */ ConnectModeEnum plMode);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Provider )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstr);
        
        /* [propput][id] */ HRESULT ( __stdcall __RPC_FAR *put_Provider )(
            _Connection __RPC_FAR * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_State )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *plObjState);
        
        /* [propget][id] */ HRESULT ( __stdcall __RPC_FAR *get_Properties )(
            _Connection __RPC_FAR * This,
            /* [retval][out] */ Properties __RPC_FAR *__RPC_FAR *ppProperties);
        
        /* [id] */ HRESULT ( __stdcall __RPC_FAR *OpenSchema )(
            _Connection __RPC_FAR * This,
            /* [in] */ SchemaEnum Schema,
            /* [optional][in] */ VARIANT Restrictions,
            /* [optional][in] */ VARIANT SchemaID,
            /* [retval][out] */ _Recordset __RPC_FAR *__RPC_FAR *pprset);
        
        END_INTERFACE
    } _ConnectionVtbl;

    interface _Connection
    {
        CONST_VTBL struct _ConnectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _Connection_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _Connection_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define _Connection_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define _Connection_GetTypeInfoCount(This,pctinfo)    \
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _Connection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _Connection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _Connection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define _Connection_get_ConnectionString(This,pbstr)    \
    (This)->lpVtbl -> get_ConnectionString(This,pbstr)

#define _Connection_put_ConnectionString(This,pbstr)    \
    (This)->lpVtbl -> put_ConnectionString(This,pbstr)

#define _Connection_get_Version(This,pbstr)    \
    (This)->lpVtbl -> get_Version(This,pbstr)

#define _Connection_Close(This)    \
    (This)->lpVtbl -> Close(This)

#define _Connection_Execute(This,CommandText,RecordsAffected,Options,ppiRset)    \
    (This)->lpVtbl -> Execute(This,CommandText,RecordsAffected,Options,ppiRset)

#define _Connection_BeginTrans(This,TransactionLevel)    \
    (This)->lpVtbl -> BeginTrans(This,TransactionLevel)

#define _Connection_CommitTrans(This)    \
    (This)->lpVtbl -> CommitTrans(This)

#define _Connection_RollbackTrans(This)    \
    (This)->lpVtbl -> RollbackTrans(This)

#define _Connection_Open(This,ConnectionString,UserID,Password,Options)    \
    (This)->lpVtbl -> Open(This,ConnectionString,UserID,Password,Options)

#define _Connection_get_Errors(This,ppErrors)    \
    (This)->lpVtbl -> get_Errors(This,ppErrors)

#define _Connection_get_DefaultDatabase(This,pbstr)    \
    (This)->lpVtbl -> get_DefaultDatabase(This,pbstr)

#define _Connection_put_DefaultDatabase(This,pbstr)    \
    (This)->lpVtbl -> put_DefaultDatabase(This,pbstr)

#define _Connection_get_IsolationLevel(This,Level)    \
    (This)->lpVtbl -> get_IsolationLevel(This,Level)

#define _Connection_put_IsolationLevel(This,Level)    \
    (This)->lpVtbl -> put_IsolationLevel(This,Level)

#define _Connection_get_Attributes(This,plAttr)    \
    (This)->lpVtbl -> get_Attributes(This,plAttr)

#define _Connection_put_Attributes(This,plAttr)    \
    (This)->lpVtbl -> put_Attributes(This,plAttr)

#define _Connection_get_CursorLocation(This,plCursorLoc)    \
    (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)

#define _Connection_put_CursorLocation(This,plCursorLoc)    \
    (This)->lpVtbl -> put_CursorLocation(This,plCursorLoc)

#define _Connection_get_Mode(This,plMode)    \
    (This)->lpVtbl -> get_Mode(This,plMode)

#define _Connection_put_Mode(This,plMode)    \
    (This)->lpVtbl -> put_Mode(This,plMode)

#define _Connection_get_Provider(This,pbstr)    \
    (This)->lpVtbl -> get_Provider(This,pbstr)

#define _Connection_put_Provider(This,pbstr)    \
    (This)->lpVtbl -> put_Provider(This,pbstr)

#define _Connection_get_State(This,plObjState)    \
    (This)->lpVtbl -> get_State(This,plObjState)

#define _Connection_get_Properties(This,ppProperties)    \
    (This)->lpVtbl -> get_Properties(This,ppProperties)

#define _Connection_OpenSchema(This,Schema,Restrictions,SchemaID,pprset)    \
    (This)->lpVtbl -> OpenSchema(This,Schema,Restrictions,SchemaID,pprset)

#endif /* COBJMACROS */


#endif     /* C style interface */



/* [propget][id] */ HRESULT __stdcall _Connection_get_ConnectionString_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstr);


void __RPC_STUB _Connection_get_ConnectionString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT __stdcall _Connection_put_ConnectionString_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ BSTR pbstr);


void __RPC_STUB _Connection_put_ConnectionString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_Version_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstr);


void __RPC_STUB _Connection_get_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT __stdcall _Connection_Close_Proxy(
    _Connection __RPC_FAR * This);


void __RPC_STUB _Connection_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT __stdcall _Connection_Execute_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ BSTR CommandText,
    /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
    /* [defaultvalue][optional][in] */ long Options,
    /* [retval][out] */ _Recordset __RPC_FAR *__RPC_FAR *ppiRset);


void __RPC_STUB _Connection_Execute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT __stdcall _Connection_BeginTrans_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *TransactionLevel);


void __RPC_STUB _Connection_BeginTrans_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT __stdcall _Connection_CommitTrans_Proxy(
    _Connection __RPC_FAR * This);


void __RPC_STUB _Connection_CommitTrans_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT __stdcall _Connection_RollbackTrans_Proxy(
    _Connection __RPC_FAR * This);


void __RPC_STUB _Connection_RollbackTrans_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT __stdcall _Connection_Open_Proxy(
    _Connection __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ BSTR ConnectionString,
    /* [defaultvalue][optional][in] */ BSTR UserID,
    /* [defaultvalue][optional][in] */ BSTR Password,
    /* [defaultvalue][optional][in] */ long Options);


void __RPC_STUB _Connection_Open_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_Errors_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ Errors __RPC_FAR *__RPC_FAR *ppErrors);


void __RPC_STUB _Connection_get_Errors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_DefaultDatabase_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstr);


void __RPC_STUB _Connection_get_DefaultDatabase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT __stdcall _Connection_put_DefaultDatabase_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ BSTR pbstr);


void __RPC_STUB _Connection_put_DefaultDatabase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_IsolationLevel_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level);


void __RPC_STUB _Connection_get_IsolationLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT __stdcall _Connection_put_IsolationLevel_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ IsolationLevelEnum Level);


void __RPC_STUB _Connection_put_IsolationLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_Attributes_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *plAttr);


void __RPC_STUB _Connection_get_Attributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT __stdcall _Connection_put_Attributes_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ long plAttr);


void __RPC_STUB _Connection_put_Attributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_CursorLocation_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);


void __RPC_STUB _Connection_get_CursorLocation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT __stdcall _Connection_put_CursorLocation_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ CursorLocationEnum plCursorLoc);


void __RPC_STUB _Connection_put_CursorLocation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_Mode_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode);


void __RPC_STUB _Connection_get_Mode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT __stdcall _Connection_put_Mode_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ ConnectModeEnum plMode);


void __RPC_STUB _Connection_put_Mode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_Provider_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstr);


void __RPC_STUB _Connection_get_Provider_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT __stdcall _Connection_put_Provider_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ BSTR pbstr);


void __RPC_STUB _Connection_put_Provider_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_State_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *plObjState);


void __RPC_STUB _Connection_get_State_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT __stdcall _Connection_get_Properties_Proxy(
    _Connection __RPC_FAR * This,
    /* [retval][out] */ Properties __RPC_FAR *__RPC_FAR *ppProperties);


void __RPC_STUB _Connection_get_Properties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT __stdcall _Connection_OpenSchema_Proxy(
    _Connection __RPC_FAR * This,
    /* [in] */ SchemaEnum Schema,
    /* [optional][in] */ VARIANT Restrictions,
    /* [optional][in] */ VARIANT SchemaID,
    /* [retval][out] */ _Recordset __RPC_FAR *__RPC_FAR *pprset);


void __RPC_STUB _Connection_OpenSchema_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* ___Connection_INTERFACE_DEFINED__ */


#ifndef __IADOCEConnectionConstruction_INTERFACE_DEFINED__
#define __IADOCEConnectionConstruction_INTERFACE_DEFINED__

/* interface IADOCEConnectionConstruction */
/* [unique][helpstring][hidden][uuid][object] */


EXTERN_C const IID IID_IADOCEConnectionConstruction;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033FA-F682-11D2-BB62-00C04F680ACC")
    IADOCEConnectionConstruction : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT __stdcall get_DSO(
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Session(
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession) = 0;
        
        virtual HRESULT __stdcall SetConnectionProperties(
            /* [in] */ BSTR pbstr) = 0;
        
        virtual HRESULT __stdcall WrapDSOandSession(
            /* [in] */ IUnknown __RPC_FAR *pDSO,
            /* [in] */ IUnknown __RPC_FAR *pSession) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct IADOCEConnectionConstructionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            IADOCEConnectionConstruction __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            IADOCEConnectionConstruction __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            IADOCEConnectionConstruction __RPC_FAR * This);
        
        /* [propget] */ HRESULT ( __stdcall __RPC_FAR *get_DSO )(
            IADOCEConnectionConstruction __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO);
        
        /* [propget] */ HRESULT ( __stdcall __RPC_FAR *get_Session )(
            IADOCEConnectionConstruction __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
        
        HRESULT ( __stdcall __RPC_FAR *SetConnectionProperties )(
            IADOCEConnectionConstruction __RPC_FAR * This,
            /* [in] */ BSTR pbstr);
        
        HRESULT ( __stdcall __RPC_FAR *WrapDSOandSession )(
            IADOCEConnectionConstruction __RPC_FAR * This,
            /* [in] */ IUnknown __RPC_FAR *pDSO,
            /* [in] */ IUnknown __RPC_FAR *pSession);
        
        END_INTERFACE
    } IADOCEConnectionConstructionVtbl;

    interface IADOCEConnectionConstruction
    {
        CONST_VTBL struct IADOCEConnectionConstructionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IADOCEConnectionConstruction_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IADOCEConnectionConstruction_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define IADOCEConnectionConstruction_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define IADOCEConnectionConstruction_get_DSO(This,ppDSO)    \
    (This)->lpVtbl -> get_DSO(This,ppDSO)

#define IADOCEConnectionConstruction_get_Session(This,ppSession)    \
    (This)->lpVtbl -> get_Session(This,ppSession)

#define IADOCEConnectionConstruction_SetConnectionProperties(This,pbstr)    \
    (This)->lpVtbl -> SetConnectionProperties(This,pbstr)

#define IADOCEConnectionConstruction_WrapDSOandSession(This,pDSO,pSession)    \
    (This)->lpVtbl -> WrapDSOandSession(This,pDSO,pSession)

#endif /* COBJMACROS */


#endif     /* C style interface */



/* [propget] */ HRESULT __stdcall IADOCEConnectionConstruction_get_DSO_Proxy(
    IADOCEConnectionConstruction __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO);


void __RPC_STUB IADOCEConnectionConstruction_get_DSO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT __stdcall IADOCEConnectionConstruction_get_Session_Proxy(
    IADOCEConnectionConstruction __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);


void __RPC_STUB IADOCEConnectionConstruction_get_Session_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT __stdcall IADOCEConnectionConstruction_SetConnectionProperties_Proxy(
    IADOCEConnectionConstruction __RPC_FAR * This,
    /* [in] */ BSTR pbstr);


void __RPC_STUB IADOCEConnectionConstruction_SetConnectionProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT __stdcall IADOCEConnectionConstruction_WrapDSOandSession_Proxy(
    IADOCEConnectionConstruction __RPC_FAR * This,
    /* [in] */ IUnknown __RPC_FAR *pDSO,
    /* [in] */ IUnknown __RPC_FAR *pSession);


void __RPC_STUB IADOCEConnectionConstruction_WrapDSOandSession_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __IADOCEConnectionConstruction_INTERFACE_DEFINED__ */


#ifndef __IADOCESite_INTERFACE_DEFINED__
#define __IADOCESite_INTERFACE_DEFINED__

/* interface IADOCESite */
/* [unique][helpstring][hidden][uuid][object] */


EXTERN_C const IID IID_IADOCESite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033FB-F682-11D2-BB62-00C04F680ACC")
    IADOCESite : public IUnknown
    {
    public:
        virtual HRESULT __stdcall StateChange( void) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct IADOCESiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            IADOCESite __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            IADOCESite __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            IADOCESite __RPC_FAR * This);
        
        HRESULT ( __stdcall __RPC_FAR *StateChange )(
            IADOCESite __RPC_FAR * This);
        
        END_INTERFACE
    } IADOCESiteVtbl;

    interface IADOCESite
    {
        CONST_VTBL struct IADOCESiteVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IADOCESite_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IADOCESite_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define IADOCESite_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define IADOCESite_StateChange(This)    \
    (This)->lpVtbl -> StateChange(This)

#endif /* COBJMACROS */


#endif     /* C style interface */



HRESULT __stdcall IADOCESite_StateChange_Proxy(
    IADOCESite __RPC_FAR * This);


void __RPC_STUB IADOCESite_StateChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __IADOCESite_INTERFACE_DEFINED__ */


#ifndef __IADOCESetSite_INTERFACE_DEFINED__
#define __IADOCESetSite_INTERFACE_DEFINED__

/* interface IADOCESetSite */
/* [unique][helpstring][hidden][uuid][object] */


EXTERN_C const IID IID_IADOCESetSite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033FC-F682-11D2-BB62-00C04F680ACC")
    IADOCESetSite : public IUnknown
    {
    public:
        virtual HRESULT __stdcall SetSite(
            IADOCESite __RPC_FAR *pSite) = 0;
        
        virtual HRESULT __stdcall RemoveSite(
            IADOCESite __RPC_FAR *pSite) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct IADOCESetSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            IADOCESetSite __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            IADOCESetSite __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            IADOCESetSite __RPC_FAR * This);
        
        HRESULT ( __stdcall __RPC_FAR *SetSite )(
            IADOCESetSite __RPC_FAR * This,
            IADOCESite __RPC_FAR *pSite);
        
        HRESULT ( __stdcall __RPC_FAR *RemoveSite )(
            IADOCESetSite __RPC_FAR * This,
            IADOCESite __RPC_FAR *pSite);
        
        END_INTERFACE
    } IADOCESetSiteVtbl;

    interface IADOCESetSite
    {
        CONST_VTBL struct IADOCESetSiteVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IADOCESetSite_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IADOCESetSite_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define IADOCESetSite_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define IADOCESetSite_SetSite(This,pSite)    \
    (This)->lpVtbl -> SetSite(This,pSite)

#define IADOCESetSite_RemoveSite(This,pSite)    \
    (This)->lpVtbl -> RemoveSite(This,pSite)

#endif /* COBJMACROS */


#endif     /* C style interface */



HRESULT __stdcall IADOCESetSite_SetSite_Proxy(
    IADOCESetSite __RPC_FAR * This,
    IADOCESite __RPC_FAR *pSite);


void __RPC_STUB IADOCESetSite_SetSite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT __stdcall IADOCESetSite_RemoveSite_Proxy(
    IADOCESetSite __RPC_FAR * This,
    IADOCESite __RPC_FAR *pSite);


void __RPC_STUB IADOCESetSite_RemoveSite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __IADOCESetSite_INTERFACE_DEFINED__ */


#ifndef __IADOCEPrivErrors_INTERFACE_DEFINED__
#define __IADOCEPrivErrors_INTERFACE_DEFINED__

/* interface IADOCEPrivErrors */
/* [unique][helpstring][hidden][uuid][object] */


EXTERN_C const IID IID_IADOCEPrivErrors;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("113033FD-F682-11D2-BB62-00C04F680ACC")
    IADOCEPrivErrors : public IUnknown
    {
    public:
        virtual HRESULT __stdcall Populate(
            /* [in] */ HRESULT hr,
            /* [defaultvalue][optional][in] */ BSTR bstrErrorString = L"(null)") = 0;
        
        virtual HRESULT __stdcall UpErrorStackLevel( void) = 0;
        
        virtual HRESULT __stdcall DownErrorStackLevel( void) = 0;
        
        virtual HRESULT __stdcall SetupError(
            /* [in] */ HRESULT hr) = 0;
        
    };
    
#else     /* C style interface */

    typedef struct IADOCEPrivErrorsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
            IADOCEPrivErrors __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
            IADOCEPrivErrors __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
            IADOCEPrivErrors __RPC_FAR * This);
        
        HRESULT ( __stdcall __RPC_FAR *Populate )(
            IADOCEPrivErrors __RPC_FAR * This,
            /* [in] */ HRESULT hr,
            /* [defaultvalue][optional][in] */ BSTR bstrErrorString);
        
        HRESULT ( __stdcall __RPC_FAR *UpErrorStackLevel )(
            IADOCEPrivErrors __RPC_FAR * This);
        
        HRESULT ( __stdcall __RPC_FAR *DownErrorStackLevel )(
            IADOCEPrivErrors __RPC_FAR * This);
        
        HRESULT ( __stdcall __RPC_FAR *SetupError )(
            IADOCEPrivErrors __RPC_FAR * This,
            /* [in] */ HRESULT hr);
        
        END_INTERFACE
    } IADOCEPrivErrorsVtbl;

    interface IADOCEPrivErrors
    {
        CONST_VTBL struct IADOCEPrivErrorsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IADOCEPrivErrors_QueryInterface(This,riid,ppvObject)    \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IADOCEPrivErrors_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)

#define IADOCEPrivErrors_Release(This)    \
    (This)->lpVtbl -> Release(This)


#define IADOCEPrivErrors_Populate(This,hr,bstrErrorString)    \
    (This)->lpVtbl -> Populate(This,hr,bstrErrorString)

#define IADOCEPrivErrors_UpErrorStackLevel(This)    \
    (This)->lpVtbl -> UpErrorStackLevel(This)

#define IADOCEPrivErrors_DownErrorStackLevel(This)    \
    (This)->lpVtbl -> DownErrorStackLevel(This)

#define IADOCEPrivErrors_SetupError(This,hr)    \
    (This)->lpVtbl -> SetupError(This,hr)

#endif /* COBJMACROS */


#endif     /* C style interface */



HRESULT __stdcall IADOCEPrivErrors_Populate_Proxy(
    IADOCEPrivErrors __RPC_FAR * This,
    /* [in] */ HRESULT hr,
    /* [defaultvalue][optional][in] */ BSTR bstrErrorString);


void __RPC_STUB IADOCEPrivErrors_Populate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT __stdcall IADOCEPrivErrors_UpErrorStackLevel_Proxy(
    IADOCEPrivErrors __RPC_FAR * This);


void __RPC_STUB IADOCEPrivErrors_UpErrorStackLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT __stdcall IADOCEPrivErrors_DownErrorStackLevel_Proxy(
    IADOCEPrivErrors __RPC_FAR * This);


void __RPC_STUB IADOCEPrivErrors_DownErrorStackLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT __stdcall IADOCEPrivErrors_SetupError_Proxy(
    IADOCEPrivErrors __RPC_FAR * This,
    /* [in] */ HRESULT hr);


void __RPC_STUB IADOCEPrivErrors_SetupError_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif     /* __IADOCEPrivErrors_INTERFACE_DEFINED__ */



#ifndef __ADOCE_LIBRARY_DEFINED__
#define __ADOCE_LIBRARY_DEFINED__

/* library ADOCE */
/* [helpstring][version][uuid] */


enum BookmarkEnum
    {    adBookmarkCurrent    = 0,
    adBookmarkFirst    = 1,
    adBookmarkLast    = 2
    };

enum FilterGroupEnum
    {    adFilterNone    = 0
    };

enum PropertyAttributesEnum
    {    adPropNotSupported    = 0,
    adPropRequired    = 1,
    adPropOptional    = 2,
    adPropRead    = 512,
    adPropWrite    = 1024
    };

enum XactAttributeEnum
    {    adXactCommitRetaining    = 131072,
    adXactAbortRetaining    = 262144
    };

enum ObjectStateEnum
    {    adStateClosed    = 0,
    adStateOpen    = 1
    };

enum ConnectPropmtEnum
    {    adPromptAlways    = 1,
    adPromptComplete    = 2,
    adPromptCompleteRequired    = 3,
    adPromptNever    = 4
    };
typedef /* [uuid] */
enum CommandEnum
    {    adCmdUnspecified    = -1,
    adCmdText    = 1,
    adCmdTable    = 2,
    adCmdStoredProc    = 4,
    adCmdUnknown    = 8,
    adCmdTableDirect    = 512
    }    CommandEnum;

typedef /* [uuid] */
enum ErrorValueEnum
    {    adErrInvalidArgument    = 0xbb9,
    adErrNoCurrentRecord    = 0xbcd,
    adErrIllegalOperation    = 0xc93,
    adErrInTransaction    = 0xcae,
    adErrFeatureNotAvailable    = 0xcb3,
    adErrItemNotFound    = 0xcc1,
    adErrObjectInCollection    = 0xd27,
    adErrObjectNotSet    = 0xd5c,
    adErrDataConversion    = 0xd5d,
    adErrObjectClosed    = 0xe78,
    adErrObjectOpen    = 0xe79,
    adErrProviderNotFound    = 0xe7a,
    adErrBoundToCommand    = 0xe7b,
    adErrInvalidParamInfo    = 0xe7c,
    adErrInvalidConnection    = 0xe7d
    }    ErrorValueEnum;

typedef /* [uuid] */
enum GetRowsOptionEnum
    {    adGetRowsRest    = -1
    }    GetRowsOptionEnum;

typedef /* [uuid] */
enum FieldAttributeEnum
    {    adFldMayDefer    = 2,
    adFldUpdatable    = 4,
    adFldUnknownUpdatable    = 8,
    adFldFixed    = 16,
    adFldIsNullable    = 32,
    adFldMayBeNull    = 64,
    adFldLong    = 128,
    adFldRowID    = 256,
    adFldRowVersion    = 512,
    adFldCacheDeferred    = 4096,
    adFldNegativeScale    = 16384,
    adFldKeyColumn    = 32768
    }    FieldAttributeEnum;

typedef /* [uuid] */
enum PositionEnum
    {    adPosUnknown    = -1,
    adPosBOF    = -2,
    adPosEOF    = -3
    }    PositionEnum;


EXTERN_C const IID LIBID_ADOCE;

EXTERN_C const CLSID CLSID_Recordset;

#ifdef __cplusplus

class DECLSPEC_UUID("DC88C62E-7BF6-4cce-A00C-C27D3906D562")
Recordset;
#endif

EXTERN_C const CLSID CLSID_Connection;

#ifdef __cplusplus

class DECLSPEC_UUID("7727312D-B4AF-437b-9758-869ECE73A574")
Connection;
#endif
#endif /* __ADOCE_LIBRARY_DEFINED__ */

/* interface __MIDL_itf_adoce31_0109 */
/* [local] */

// backwards compatibility helpers

typedef _Recordset        IADOCERecordset;
typedef _Connection        IADOCEConnection;
typedef _Collection        IADOCECollection;
typedef Properties        IADOCEProperties;
typedef Property            IADOCEProperty;
typedef Errors            IADOCEErrors;
typedef Error            IADOCEError;
typedef Fields            IADOCEFields;
typedef Field            IADOCEField;

#define CLSID_ADOCERecordset CLSID_Recordset
#define CLSID_ADOCEConnection CLSID_Connection

#define IID_IADOCERecordset IID__Recordset
#define IID_IADOCEConnection IID__Connection
#define IID_IADOCECollection IID__Collection
#define IID_IADOCEProperties IID_Properties
#define IID_IADOCEProperty IID_Property
#define IID_IADOCEErrors IID_Errors
#define IID_IADOCEError IID_Error
#define IID_IADOCEFields IID_Fields
#define IID_IADOCEField IID_Field


extern RPC_IF_HANDLE __MIDL_itf_adoce31_0109_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_adoce31_0109_v0_0_s_ifspec;

/* 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