

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed May 20 19:13:44 2009
 */
/* Compiler settings for ..\..\builds\Release_Win32\_Recorder.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef ___Recorder_h__
#define ___Recorder_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IRsRecordEvent_FWD_DEFINED__
#define __IRsRecordEvent_FWD_DEFINED__
typedef interface IRsRecordEvent IRsRecordEvent;
#endif 	/* __IRsRecordEvent_FWD_DEFINED__ */


#ifndef __IRsREAddCon_FWD_DEFINED__
#define __IRsREAddCon_FWD_DEFINED__
typedef interface IRsREAddCon IRsREAddCon;
#endif 	/* __IRsREAddCon_FWD_DEFINED__ */


#ifndef __IRsRERemCon_FWD_DEFINED__
#define __IRsRERemCon_FWD_DEFINED__
typedef interface IRsRERemCon IRsRERemCon;
#endif 	/* __IRsRERemCon_FWD_DEFINED__ */


#ifndef __IRsREConnect_FWD_DEFINED__
#define __IRsREConnect_FWD_DEFINED__
typedef interface IRsREConnect IRsREConnect;
#endif 	/* __IRsREConnect_FWD_DEFINED__ */


#ifndef __IRsREDisconnect_FWD_DEFINED__
#define __IRsREDisconnect_FWD_DEFINED__
typedef interface IRsREDisconnect IRsREDisconnect;
#endif 	/* __IRsREDisconnect_FWD_DEFINED__ */


#ifndef __IRsRERename_FWD_DEFINED__
#define __IRsRERename_FWD_DEFINED__
typedef interface IRsRERename IRsRERename;
#endif 	/* __IRsRERename_FWD_DEFINED__ */


#ifndef __IRsRESetValue_FWD_DEFINED__
#define __IRsRESetValue_FWD_DEFINED__
typedef interface IRsRESetValue IRsRESetValue;
#endif 	/* __IRsRESetValue_FWD_DEFINED__ */


#ifndef __IRsREConChanged_FWD_DEFINED__
#define __IRsREConChanged_FWD_DEFINED__
typedef interface IRsREConChanged IRsREConChanged;
#endif 	/* __IRsREConChanged_FWD_DEFINED__ */


#ifndef __IRsREventBlock_FWD_DEFINED__
#define __IRsREventBlock_FWD_DEFINED__
typedef interface IRsREventBlock IRsREventBlock;
#endif 	/* __IRsREventBlock_FWD_DEFINED__ */


#ifndef __IRsREBlockRepository_FWD_DEFINED__
#define __IRsREBlockRepository_FWD_DEFINED__
typedef interface IRsREBlockRepository IRsREBlockRepository;
#endif 	/* __IRsREBlockRepository_FWD_DEFINED__ */


#ifndef __IRsREConDepend_FWD_DEFINED__
#define __IRsREConDepend_FWD_DEFINED__
typedef interface IRsREConDepend IRsREConDepend;
#endif 	/* __IRsREConDepend_FWD_DEFINED__ */


#ifndef __IRfRecordEventsFn_FWD_DEFINED__
#define __IRfRecordEventsFn_FWD_DEFINED__
typedef interface IRfRecordEventsFn IRfRecordEventsFn;
#endif 	/* __IRfRecordEventsFn_FWD_DEFINED__ */


#ifndef __IRdRecData_FWD_DEFINED__
#define __IRdRecData_FWD_DEFINED__
typedef interface IRdRecData IRdRecData;
#endif 	/* __IRdRecData_FWD_DEFINED__ */


#ifndef __IRdChunkRecorder_FWD_DEFINED__
#define __IRdChunkRecorder_FWD_DEFINED__
typedef interface IRdChunkRecorder IRdChunkRecorder;
#endif 	/* __IRdChunkRecorder_FWD_DEFINED__ */


#ifndef __IRsRecordNotify_FWD_DEFINED__
#define __IRsRecordNotify_FWD_DEFINED__
typedef interface IRsRecordNotify IRsRecordNotify;
#endif 	/* __IRsRecordNotify_FWD_DEFINED__ */


#ifndef __IRsRecordMng_FWD_DEFINED__
#define __IRsRecordMng_FWD_DEFINED__
typedef interface IRsRecordMng IRsRecordMng;
#endif 	/* __IRsRecordMng_FWD_DEFINED__ */


#ifndef __IRfRecorderFn_FWD_DEFINED__
#define __IRfRecorderFn_FWD_DEFINED__
typedef interface IRfRecorderFn IRfRecorderFn;
#endif 	/* __IRfRecorderFn_FWD_DEFINED__ */


#ifndef __IRsFileTypeRecorder_FWD_DEFINED__
#define __IRsFileTypeRecorder_FWD_DEFINED__
typedef interface IRsFileTypeRecorder IRsFileTypeRecorder;
#endif 	/* __IRsFileTypeRecorder_FWD_DEFINED__ */


#ifndef __IRpRecorderPck_FWD_DEFINED__
#define __IRpRecorderPck_FWD_DEFINED__
typedef interface IRpRecorderPck IRpRecorderPck;
#endif 	/* __IRpRecorderPck_FWD_DEFINED__ */


#ifndef __IRcOpenRecPreference_FWD_DEFINED__
#define __IRcOpenRecPreference_FWD_DEFINED__
typedef interface IRcOpenRecPreference IRcOpenRecPreference;
#endif 	/* __IRcOpenRecPreference_FWD_DEFINED__ */


#ifndef __IRsRecUpdData_FWD_DEFINED__
#define __IRsRecUpdData_FWD_DEFINED__
typedef interface IRsRecUpdData IRsRecUpdData;
#endif 	/* __IRsRecUpdData_FWD_DEFINED__ */


#ifndef __IRsRecordPreview_FWD_DEFINED__
#define __IRsRecordPreview_FWD_DEFINED__
typedef interface IRsRecordPreview IRsRecordPreview;
#endif 	/* __IRsRecordPreview_FWD_DEFINED__ */


#ifndef __IRnRecordPreview_FWD_DEFINED__
#define __IRnRecordPreview_FWD_DEFINED__
typedef interface IRnRecordPreview IRnRecordPreview;
#endif 	/* __IRnRecordPreview_FWD_DEFINED__ */


#ifndef __IRcOpenRecPreview_FWD_DEFINED__
#define __IRcOpenRecPreview_FWD_DEFINED__
typedef interface IRcOpenRecPreview IRcOpenRecPreview;
#endif 	/* __IRcOpenRecPreview_FWD_DEFINED__ */


#ifndef __IRcRecApply_FWD_DEFINED__
#define __IRcRecApply_FWD_DEFINED__
typedef interface IRcRecApply IRcRecApply;
#endif 	/* __IRcRecApply_FWD_DEFINED__ */


#ifndef __IRnRecord_FWD_DEFINED__
#define __IRnRecord_FWD_DEFINED__
typedef interface IRnRecord IRnRecord;
#endif 	/* __IRnRecord_FWD_DEFINED__ */


#ifndef __IRcRecord_FWD_DEFINED__
#define __IRcRecord_FWD_DEFINED__
typedef interface IRcRecord IRcRecord;
#endif 	/* __IRcRecord_FWD_DEFINED__ */


#ifndef __IRcRecPreview_FWD_DEFINED__
#define __IRcRecPreview_FWD_DEFINED__
typedef interface IRcRecPreview IRcRecPreview;
#endif 	/* __IRcRecPreview_FWD_DEFINED__ */


#ifndef __IRcRecRollback_FWD_DEFINED__
#define __IRcRecRollback_FWD_DEFINED__
typedef interface IRcRecRollback IRcRecRollback;
#endif 	/* __IRcRecRollback_FWD_DEFINED__ */


#ifndef __IRnRecordMng_FWD_DEFINED__
#define __IRnRecordMng_FWD_DEFINED__
typedef interface IRnRecordMng IRnRecordMng;
#endif 	/* __IRnRecordMng_FWD_DEFINED__ */


#ifndef __IRnRecPreference_FWD_DEFINED__
#define __IRnRecPreference_FWD_DEFINED__
typedef interface IRnRecPreference IRnRecPreference;
#endif 	/* __IRnRecPreference_FWD_DEFINED__ */


#ifndef __IRiRecorder_FWD_DEFINED__
#define __IRiRecorder_FWD_DEFINED__
typedef interface IRiRecorder IRiRecorder;
#endif 	/* __IRiRecorder_FWD_DEFINED__ */


#ifndef __IRsRecNodeFactory_FWD_DEFINED__
#define __IRsRecNodeFactory_FWD_DEFINED__
typedef interface IRsRecNodeFactory IRsRecNodeFactory;
#endif 	/* __IRsRecNodeFactory_FWD_DEFINED__ */


#ifndef __IRsRecCmdFactory_FWD_DEFINED__
#define __IRsRecCmdFactory_FWD_DEFINED__
typedef interface IRsRecCmdFactory IRsRecCmdFactory;
#endif 	/* __IRsRecCmdFactory_FWD_DEFINED__ */


#ifndef __IRsRecDataObjFactory_FWD_DEFINED__
#define __IRsRecDataObjFactory_FWD_DEFINED__
typedef interface IRsRecDataObjFactory IRsRecDataObjFactory;
#endif 	/* __IRsRecDataObjFactory_FWD_DEFINED__ */


#ifndef __CRpRecorderPck_FWD_DEFINED__
#define __CRpRecorderPck_FWD_DEFINED__

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

#endif 	/* __CRpRecorderPck_FWD_DEFINED__ */


#ifndef __CRsRecordPreview_FWD_DEFINED__
#define __CRsRecordPreview_FWD_DEFINED__

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

#endif 	/* __CRsRecordPreview_FWD_DEFINED__ */


#ifndef __CRiRecorder_FWD_DEFINED__
#define __CRiRecorder_FWD_DEFINED__

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

#endif 	/* __CRiRecorder_FWD_DEFINED__ */


/* header files for imported files */
#include "prsht.h"
#include "mshtml.h"
#include "mshtmhst.h"
#include "exdisp.h"
#include "objsafe.h"
#include "_kernel.h"
#include "_fileio.h"
#include "_userinterface.h"

#ifdef __cplusplus
extern "C"{
#endif 

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

#ifndef __IRsRecordEvent_INTERFACE_DEFINED__
#define __IRsRecordEvent_INTERFACE_DEFINED__

/* interface IRsRecordEvent */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRecordEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F889E6A9-2711-45c9-93B1-1274C7ADF32E")
    IRsRecordEvent : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DeltaTime( 
            /* [retval][out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DeltaTime( 
            /* [in] */ RtDWORD newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsRecordEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsRecordEvent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsRecordEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsRecordEvent * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaTime )( 
            IRsRecordEvent * This,
            /* [retval][out] */ RtDWORD *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeltaTime )( 
            IRsRecordEvent * This,
            /* [in] */ RtDWORD newVal);
        
        END_INTERFACE
    } IRsRecordEventVtbl;

    interface IRsRecordEvent
    {
        CONST_VTBL struct IRsRecordEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsRecordEvent_get_DeltaTime(This,pVal)	\
    (This)->lpVtbl -> get_DeltaTime(This,pVal)

#define IRsRecordEvent_put_DeltaTime(This,newVal)	\
    (This)->lpVtbl -> put_DeltaTime(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsRecordEvent_get_DeltaTime_Proxy( 
    IRsRecordEvent * This,
    /* [retval][out] */ RtDWORD *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsRecordEvent_put_DeltaTime_Proxy( 
    IRsRecordEvent * This,
    /* [in] */ RtDWORD newVal);


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



#endif 	/* __IRsRecordEvent_INTERFACE_DEFINED__ */


#ifndef __IRsREAddCon_INTERFACE_DEFINED__
#define __IRsREAddCon_INTERFACE_DEFINED__

/* interface IRsREAddCon */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsREAddCon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4E27F84F-4220-4833-9559-FB6B3A108CCD")
    IRsREAddCon : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsREAddCon
    {
        CONST_VTBL struct IRsREAddConVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsREAddCon_INTERFACE_DEFINED__ */


#ifndef __IRsRERemCon_INTERFACE_DEFINED__
#define __IRsRERemCon_INTERFACE_DEFINED__

/* interface IRsRERemCon */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRERemCon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("91A94115-20EB-471f-988A-CCC82DE58B2A")
    IRsRERemCon : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsRERemCon
    {
        CONST_VTBL struct IRsRERemConVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsRERemCon_INTERFACE_DEFINED__ */


#ifndef __IRsREConnect_INTERFACE_DEFINED__
#define __IRsREConnect_INTERFACE_DEFINED__

/* interface IRsREConnect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsREConnect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3EF12C14-B2CD-4dbb-9957-C711F3451C58")
    IRsREConnect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsREConnect
    {
        CONST_VTBL struct IRsREConnectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsREConnect_INTERFACE_DEFINED__ */


#ifndef __IRsREDisconnect_INTERFACE_DEFINED__
#define __IRsREDisconnect_INTERFACE_DEFINED__

/* interface IRsREDisconnect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsREDisconnect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("65524517-56CE-43b8-A50C-B9DBEAB7B614")
    IRsREDisconnect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsREDisconnect
    {
        CONST_VTBL struct IRsREDisconnectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsREDisconnect_INTERFACE_DEFINED__ */


#ifndef __IRsRERename_INTERFACE_DEFINED__
#define __IRsRERename_INTERFACE_DEFINED__

/* interface IRsRERename */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRERename;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BCB0A82C-3FE5-45a6-A240-CE4A839A836B")
    IRsRERename : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsRERename
    {
        CONST_VTBL struct IRsRERenameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsRERename_INTERFACE_DEFINED__ */


#ifndef __IRsRESetValue_INTERFACE_DEFINED__
#define __IRsRESetValue_INTERFACE_DEFINED__

/* interface IRsRESetValue */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRESetValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CEBA8992-4DB4-4762-A7F8-5090C39AED80")
    IRsRESetValue : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsRESetValue
    {
        CONST_VTBL struct IRsRESetValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsRESetValue_INTERFACE_DEFINED__ */


#ifndef __IRsREConChanged_INTERFACE_DEFINED__
#define __IRsREConChanged_INTERFACE_DEFINED__

/* interface IRsREConChanged */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsREConChanged;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5DDBB25B-7F7D-48b0-9AFC-F52BCECBEDC2")
    IRsREConChanged : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsREConChanged
    {
        CONST_VTBL struct IRsREConChangedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsREConChanged_INTERFACE_DEFINED__ */


#ifndef __IRsREventBlock_INTERFACE_DEFINED__
#define __IRsREventBlock_INTERFACE_DEFINED__

/* interface IRsREventBlock */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsREventBlock;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6F2947F1-4E37-4b28-9621-553EC0EFA107")
    IRsREventBlock : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddEvent( 
            /* [in] */ IRsBSEvent *pEvent) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsREventBlockVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsREventBlock * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsREventBlock * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsREventBlock * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddEvent )( 
            IRsREventBlock * This,
            /* [in] */ IRsBSEvent *pEvent);
        
        END_INTERFACE
    } IRsREventBlockVtbl;

    interface IRsREventBlock
    {
        CONST_VTBL struct IRsREventBlockVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsREventBlock_AddEvent(This,pEvent)	\
    (This)->lpVtbl -> AddEvent(This,pEvent)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsREventBlock_AddEvent_Proxy( 
    IRsREventBlock * This,
    /* [in] */ IRsBSEvent *pEvent);


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



#endif 	/* __IRsREventBlock_INTERFACE_DEFINED__ */


#ifndef __IRsREBlockRepository_INTERFACE_DEFINED__
#define __IRsREBlockRepository_INTERFACE_DEFINED__

/* interface IRsREBlockRepository */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsREBlockRepository;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("24505E88-8EB0-4cac-88C1-0286E7427FDB")
    IRsREBlockRepository : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsREventBlock *pEventBlock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [retval][out] */ IRsREventBlock **ppEventBlock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLast( 
            /* [in] */ IRsREventBlock *pEventBlock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [retval][out] */ IRsREBlockRepository **ppBlokRepository) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveLast( 
            /* [retval][out] */ IRsREventBlock **ppEventBlock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [retval][out] */ RtUlong *pulCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsREBlockRepositoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsREBlockRepository * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsREBlockRepository * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsREBlockRepository * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRsREBlockRepository * This,
            /* [in] */ IRsREventBlock *pEventBlock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IRsREBlockRepository * This,
            /* [retval][out] */ IRsREventBlock **ppEventBlock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddLast )( 
            IRsREBlockRepository * This,
            /* [in] */ IRsREventBlock *pEventBlock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsREBlockRepository * This,
            /* [retval][out] */ IRsREBlockRepository **ppBlokRepository);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveLast )( 
            IRsREBlockRepository * This,
            /* [retval][out] */ IRsREventBlock **ppEventBlock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRsREBlockRepository * This,
            /* [retval][out] */ RtUlong *pulCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsREBlockRepository * This);
        
        END_INTERFACE
    } IRsREBlockRepositoryVtbl;

    interface IRsREBlockRepository
    {
        CONST_VTBL struct IRsREBlockRepositoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsREBlockRepository_Add(This,pEventBlock)	\
    (This)->lpVtbl -> Add(This,pEventBlock)

#define IRsREBlockRepository_Remove(This,ppEventBlock)	\
    (This)->lpVtbl -> Remove(This,ppEventBlock)

#define IRsREBlockRepository_AddLast(This,pEventBlock)	\
    (This)->lpVtbl -> AddLast(This,pEventBlock)

#define IRsREBlockRepository_Clone(This,ppBlokRepository)	\
    (This)->lpVtbl -> Clone(This,ppBlokRepository)

#define IRsREBlockRepository_RemoveLast(This,ppEventBlock)	\
    (This)->lpVtbl -> RemoveLast(This,ppEventBlock)

#define IRsREBlockRepository_GetCount(This,pulCount)	\
    (This)->lpVtbl -> GetCount(This,pulCount)

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

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsREBlockRepository_Add_Proxy( 
    IRsREBlockRepository * This,
    /* [in] */ IRsREventBlock *pEventBlock);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsREBlockRepository_Remove_Proxy( 
    IRsREBlockRepository * This,
    /* [retval][out] */ IRsREventBlock **ppEventBlock);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsREBlockRepository_AddLast_Proxy( 
    IRsREBlockRepository * This,
    /* [in] */ IRsREventBlock *pEventBlock);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsREBlockRepository_Clone_Proxy( 
    IRsREBlockRepository * This,
    /* [retval][out] */ IRsREBlockRepository **ppBlokRepository);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsREBlockRepository_RemoveLast_Proxy( 
    IRsREBlockRepository * This,
    /* [retval][out] */ IRsREventBlock **ppEventBlock);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsREBlockRepository_GetCount_Proxy( 
    IRsREBlockRepository * This,
    /* [retval][out] */ RtUlong *pulCount);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsREBlockRepository_Clear_Proxy( 
    IRsREBlockRepository * This);


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



#endif 	/* __IRsREBlockRepository_INTERFACE_DEFINED__ */


#ifndef __IRsREConDepend_INTERFACE_DEFINED__
#define __IRsREConDepend_INTERFACE_DEFINED__

/* interface IRsREConDepend */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsREConDepend;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4696AD66-8418-4311-8DB9-9803BED0B0F3")
    IRsREConDepend : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsREConDepend
    {
        CONST_VTBL struct IRsREConDependVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsREConDepend_INTERFACE_DEFINED__ */


#ifndef __IRfRecordEventsFn_INTERFACE_DEFINED__
#define __IRfRecordEventsFn_INTERFACE_DEFINED__

/* interface IRfRecordEventsFn */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfRecordEventsFn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("93C1E57A-BBA8-4187-A63D-06F556A2B289")
    IRfRecordEventsFn : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateREObject( 
            /* [in] */ RtNotifyEvent eEvent,
            /* [retval][out] */ IRsBSEvent **ppObjEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateREventBlockObj( 
            /* [retval][out] */ IRsREventBlock **ppObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateRERepository( 
            /* [retval][out] */ IRsREBlockRepository **ppObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfRecordEventsFnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfRecordEventsFn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfRecordEventsFn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfRecordEventsFn * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateREObject )( 
            IRfRecordEventsFn * This,
            /* [in] */ RtNotifyEvent eEvent,
            /* [retval][out] */ IRsBSEvent **ppObjEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateREventBlockObj )( 
            IRfRecordEventsFn * This,
            /* [retval][out] */ IRsREventBlock **ppObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateRERepository )( 
            IRfRecordEventsFn * This,
            /* [retval][out] */ IRsREBlockRepository **ppObj);
        
        END_INTERFACE
    } IRfRecordEventsFnVtbl;

    interface IRfRecordEventsFn
    {
        CONST_VTBL struct IRfRecordEventsFnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfRecordEventsFn_CreateREObject(This,eEvent,ppObjEvent)	\
    (This)->lpVtbl -> CreateREObject(This,eEvent,ppObjEvent)

#define IRfRecordEventsFn_CreateREventBlockObj(This,ppObj)	\
    (This)->lpVtbl -> CreateREventBlockObj(This,ppObj)

#define IRfRecordEventsFn_CreateRERepository(This,ppObj)	\
    (This)->lpVtbl -> CreateRERepository(This,ppObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRecordEventsFn_CreateREObject_Proxy( 
    IRfRecordEventsFn * This,
    /* [in] */ RtNotifyEvent eEvent,
    /* [retval][out] */ IRsBSEvent **ppObjEvent);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRecordEventsFn_CreateREventBlockObj_Proxy( 
    IRfRecordEventsFn * This,
    /* [retval][out] */ IRsREventBlock **ppObj);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRecordEventsFn_CreateRERepository_Proxy( 
    IRfRecordEventsFn * This,
    /* [retval][out] */ IRsREBlockRepository **ppObj);


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



#endif 	/* __IRfRecordEventsFn_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Recorder_1830 */
/* [local] */ 

typedef 
enum tagRtRecStatus
    {	RC_INIT	= 0,
	RC_RUNNING	= 1,
	RC_RECORDING	= 2,
	RC_STOPPED	= 3,
	RC_PAUSED	= 4
    } 	RtRecStatus;



extern RPC_IF_HANDLE __MIDL_itf__Recorder_1830_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Recorder_1830_v0_0_s_ifspec;

#ifndef __IRdRecData_INTERFACE_DEFINED__
#define __IRdRecData_INTERFACE_DEFINED__

/* interface IRdRecData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdRecData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("31ABB661-2BB5-4A52-B6F9-1723648A8691")
    IRdRecData : public IRsDataObject
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RecStatus( 
            /* [retval][out] */ RtRecStatus *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RecStatus( 
            /* [in] */ RtRecStatus newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_File( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_File( 
            /* [in] */ BSTR newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdRecDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdRecData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdRecData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdRecData * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdRecData * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdRecData * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdRecData * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecStatus )( 
            IRdRecData * This,
            /* [retval][out] */ RtRecStatus *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RecStatus )( 
            IRdRecData * This,
            /* [in] */ RtRecStatus newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IRdRecData * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_File )( 
            IRdRecData * This,
            /* [in] */ BSTR newVal);
        
        END_INTERFACE
    } IRdRecDataVtbl;

    interface IRdRecData
    {
        CONST_VTBL struct IRdRecDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRdRecData_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdRecData_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdRecData_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdRecData_get_RecStatus(This,pVal)	\
    (This)->lpVtbl -> get_RecStatus(This,pVal)

#define IRdRecData_put_RecStatus(This,newVal)	\
    (This)->lpVtbl -> put_RecStatus(This,newVal)

#define IRdRecData_get_File(This,pVal)	\
    (This)->lpVtbl -> get_File(This,pVal)

#define IRdRecData_put_File(This,newVal)	\
    (This)->lpVtbl -> put_File(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdRecData_get_RecStatus_Proxy( 
    IRdRecData * This,
    /* [retval][out] */ RtRecStatus *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdRecData_put_RecStatus_Proxy( 
    IRdRecData * This,
    /* [in] */ RtRecStatus newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdRecData_get_File_Proxy( 
    IRdRecData * This,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdRecData_put_File_Proxy( 
    IRdRecData * This,
    /* [in] */ BSTR newVal);


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



#endif 	/* __IRdRecData_INTERFACE_DEFINED__ */


#ifndef __IRdChunkRecorder_INTERFACE_DEFINED__
#define __IRdChunkRecorder_INTERFACE_DEFINED__

/* interface IRdChunkRecorder */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdChunkRecorder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A147BC36-2E2C-4c6a-BBB3-EBCBD0196098")
    IRdChunkRecorder : public IRsObject
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AssignRecFile( 
            /* [in] */ BSTR bstrRecordingFile) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetStoredRecFilePos( 
            /* [in] */ RtQWORD *pqwStartPos) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetStoredRecDataLen( 
            /* [in] */ RtQWORD *pqwDataLen) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetStoredRecFileStream( 
            /* [in] */ IStream **ppStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdChunkRecorderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdChunkRecorder * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdChunkRecorder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdChunkRecorder * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdChunkRecorder * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdChunkRecorder * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdChunkRecorder * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AssignRecFile )( 
            IRdChunkRecorder * This,
            /* [in] */ BSTR bstrRecordingFile);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetStoredRecFilePos )( 
            IRdChunkRecorder * This,
            /* [in] */ RtQWORD *pqwStartPos);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetStoredRecDataLen )( 
            IRdChunkRecorder * This,
            /* [in] */ RtQWORD *pqwDataLen);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetStoredRecFileStream )( 
            IRdChunkRecorder * This,
            /* [in] */ IStream **ppStream);
        
        END_INTERFACE
    } IRdChunkRecorderVtbl;

    interface IRdChunkRecorder
    {
        CONST_VTBL struct IRdChunkRecorderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRdChunkRecorder_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdChunkRecorder_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


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

#define IRdChunkRecorder_AssignRecFile(This,bstrRecordingFile)	\
    (This)->lpVtbl -> AssignRecFile(This,bstrRecordingFile)

#define IRdChunkRecorder_GetStoredRecFilePos(This,pqwStartPos)	\
    (This)->lpVtbl -> GetStoredRecFilePos(This,pqwStartPos)

#define IRdChunkRecorder_GetStoredRecDataLen(This,pqwDataLen)	\
    (This)->lpVtbl -> GetStoredRecDataLen(This,pqwDataLen)

#define IRdChunkRecorder_GetStoredRecFileStream(This,ppStream)	\
    (This)->lpVtbl -> GetStoredRecFileStream(This,ppStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdChunkRecorder_Clear_Proxy( 
    IRdChunkRecorder * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdChunkRecorder_AssignRecFile_Proxy( 
    IRdChunkRecorder * This,
    /* [in] */ BSTR bstrRecordingFile);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdChunkRecorder_GetStoredRecFilePos_Proxy( 
    IRdChunkRecorder * This,
    /* [in] */ RtQWORD *pqwStartPos);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdChunkRecorder_GetStoredRecDataLen_Proxy( 
    IRdChunkRecorder * This,
    /* [in] */ RtQWORD *pqwDataLen);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdChunkRecorder_GetStoredRecFileStream_Proxy( 
    IRdChunkRecorder * This,
    /* [in] */ IStream **ppStream);


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



#endif 	/* __IRdChunkRecorder_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Recorder_1832 */
/* [local] */ 

typedef 
enum _tagRtRecord
    {	RECORD_STOP	= 0,
	RECORD_START	= 1,
	RECORD_PLAY	= 2,
	RECORD_SAVE	= 3,
	RECORD_LOAD	= 4,
	RECORD_PLAYBACK	= 5,
	RECORD_PAUSE	= 6,
	RECORD_CLEAR	= 7,
	RECORD_SETFRAME	= 8
    } 	RtRecord;



extern RPC_IF_HANDLE __MIDL_itf__Recorder_1832_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Recorder_1832_v0_0_s_ifspec;

#ifndef __IRsRecordNotify_INTERFACE_DEFINED__
#define __IRsRecordNotify_INTERFACE_DEFINED__

/* interface IRsRecordNotify */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRecordNotify;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("26200E2F-8214-48f2-9BFD-4981A3D5B45F")
    IRsRecordNotify : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnChangePlayingStatus( 
            /* [in] */ RtRecStatus eRecStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnChangePreview( 
            /* [in] */ BSTR bszPreviewFile) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsRecordNotifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsRecordNotify * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsRecordNotify * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsRecordNotify * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnChangePlayingStatus )( 
            IRsRecordNotify * This,
            /* [in] */ RtRecStatus eRecStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnChangePreview )( 
            IRsRecordNotify * This,
            /* [in] */ BSTR bszPreviewFile);
        
        END_INTERFACE
    } IRsRecordNotifyVtbl;

    interface IRsRecordNotify
    {
        CONST_VTBL struct IRsRecordNotifyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsRecordNotify_OnChangePlayingStatus(This,eRecStatus)	\
    (This)->lpVtbl -> OnChangePlayingStatus(This,eRecStatus)

#define IRsRecordNotify_OnChangePreview(This,bszPreviewFile)	\
    (This)->lpVtbl -> OnChangePreview(This,bszPreviewFile)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordNotify_OnChangePlayingStatus_Proxy( 
    IRsRecordNotify * This,
    /* [in] */ RtRecStatus eRecStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordNotify_OnChangePreview_Proxy( 
    IRsRecordNotify * This,
    /* [in] */ BSTR bszPreviewFile);


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



#endif 	/* __IRsRecordNotify_INTERFACE_DEFINED__ */


#ifndef __IRsRecordMng_INTERFACE_DEFINED__
#define __IRsRecordMng_INTERFACE_DEFINED__

/* interface IRsRecordMng */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRecordMng;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ECA13D58-D730-4527-93B1-78513E49BBBF")
    IRsRecordMng : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnNotifyEvent( 
            /* [in] */ IRsNode *pRecSpace,
            /* [in] */ IRsNotifyEvent *pEvent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRepository( 
            /* [retval][out] */ IRsREBlockRepository **ppRepository) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartRecording( 
            /* [in] */ IRsNode *pRecNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayForward( 
            /* [in] */ RtUlong ulDelayTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveRecord( 
            /* [in] */ BSTR bszRecordFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadRecord( 
            /* [in] */ BSTR bszRecordFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayRecordBack( 
            /* [in] */ RtUlong ulDelayTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearRecord( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ApplyNextEventBlock( 
            /* [out] */ RtRecStatus *pCurrRecStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RollBackEventBlock( 
            /* [out] */ RtRecStatus *pCurrRecStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCurrFrame( 
            /* [retval][out] */ RtUlong *pulFrame) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFrame( 
            /* [in] */ RtUlong ulFrame) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachPreviewFileName( 
            /* [in] */ BSTR bszPreviewFileName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PreviewOffsetTime( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PreviewOffsetTime( 
            /* [in] */ RtUlong newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvalidatePreferences( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCurrTime( 
            /* [retval][out] */ RtDWORD *pdwTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveRecordEx( 
            /* [in] */ BSTR bstrFileName,
            /* [in] */ BSTR bstrAuthor,
            /* [in] */ BSTR bstrDescr,
            /* [in] */ IRdBitmap *pThumbnail) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddRecordChunk( 
            /* [in] */ IRsFileHandle *pRsFileHandle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyStreamingRecord( 
            /* [in] */ IStream *pWriteStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStreamingRecordLen( 
            /* [retval][out] */ RtQWORD *pqwDataLen) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadRecordStream( 
            /* [in] */ IStream *pStream,
            /* [in] */ RtQWORD qwDataLen) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanSaveNow( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsRecordMngVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsRecordMng * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsRecordMng * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsRecordMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnNotifyEvent )( 
            IRsRecordMng * This,
            /* [in] */ IRsNode *pRecSpace,
            /* [in] */ IRsNotifyEvent *pEvent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsRecordMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRepository )( 
            IRsRecordMng * This,
            /* [retval][out] */ IRsREBlockRepository **ppRepository);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsRecordMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartRecording )( 
            IRsRecordMng * This,
            /* [in] */ IRsNode *pRecNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IRsRecordMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayForward )( 
            IRsRecordMng * This,
            /* [in] */ RtUlong ulDelayTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveRecord )( 
            IRsRecordMng * This,
            /* [in] */ BSTR bszRecordFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadRecord )( 
            IRsRecordMng * This,
            /* [in] */ BSTR bszRecordFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayRecordBack )( 
            IRsRecordMng * This,
            /* [in] */ RtUlong ulDelayTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearRecord )( 
            IRsRecordMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
            IRsRecordMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ApplyNextEventBlock )( 
            IRsRecordMng * This,
            /* [out] */ RtRecStatus *pCurrRecStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RollBackEventBlock )( 
            IRsRecordMng * This,
            /* [out] */ RtRecStatus *pCurrRecStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCurrFrame )( 
            IRsRecordMng * This,
            /* [retval][out] */ RtUlong *pulFrame);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFrame )( 
            IRsRecordMng * This,
            /* [in] */ RtUlong ulFrame);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachPreviewFileName )( 
            IRsRecordMng * This,
            /* [in] */ BSTR bszPreviewFileName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreviewOffsetTime )( 
            IRsRecordMng * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreviewOffsetTime )( 
            IRsRecordMng * This,
            /* [in] */ RtUlong newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvalidatePreferences )( 
            IRsRecordMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCurrTime )( 
            IRsRecordMng * This,
            /* [retval][out] */ RtDWORD *pdwTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveRecordEx )( 
            IRsRecordMng * This,
            /* [in] */ BSTR bstrFileName,
            /* [in] */ BSTR bstrAuthor,
            /* [in] */ BSTR bstrDescr,
            /* [in] */ IRdBitmap *pThumbnail);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddRecordChunk )( 
            IRsRecordMng * This,
            /* [in] */ IRsFileHandle *pRsFileHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyStreamingRecord )( 
            IRsRecordMng * This,
            /* [in] */ IStream *pWriteStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStreamingRecordLen )( 
            IRsRecordMng * This,
            /* [retval][out] */ RtQWORD *pqwDataLen);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadRecordStream )( 
            IRsRecordMng * This,
            /* [in] */ IStream *pStream,
            /* [in] */ RtQWORD qwDataLen);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanSaveNow )( 
            IRsRecordMng * This);
        
        END_INTERFACE
    } IRsRecordMngVtbl;

    interface IRsRecordMng
    {
        CONST_VTBL struct IRsRecordMngVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsRecordMng_OnNotifyEvent(This,pRecSpace,pEvent)	\
    (This)->lpVtbl -> OnNotifyEvent(This,pRecSpace,pEvent)

#define IRsRecordMng_Initialize(This)	\
    (This)->lpVtbl -> Initialize(This)

#define IRsRecordMng_GetRepository(This,ppRepository)	\
    (This)->lpVtbl -> GetRepository(This,ppRepository)

#define IRsRecordMng_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsRecordMng_StartRecording(This,pRecNode)	\
    (This)->lpVtbl -> StartRecording(This,pRecNode)

#define IRsRecordMng_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IRsRecordMng_PlayForward(This,ulDelayTime)	\
    (This)->lpVtbl -> PlayForward(This,ulDelayTime)

#define IRsRecordMng_SaveRecord(This,bszRecordFileName)	\
    (This)->lpVtbl -> SaveRecord(This,bszRecordFileName)

#define IRsRecordMng_LoadRecord(This,bszRecordFileName)	\
    (This)->lpVtbl -> LoadRecord(This,bszRecordFileName)

#define IRsRecordMng_PlayRecordBack(This,ulDelayTime)	\
    (This)->lpVtbl -> PlayRecordBack(This,ulDelayTime)

#define IRsRecordMng_ClearRecord(This)	\
    (This)->lpVtbl -> ClearRecord(This)

#define IRsRecordMng_Pause(This)	\
    (This)->lpVtbl -> Pause(This)

#define IRsRecordMng_ApplyNextEventBlock(This,pCurrRecStatus)	\
    (This)->lpVtbl -> ApplyNextEventBlock(This,pCurrRecStatus)

#define IRsRecordMng_RollBackEventBlock(This,pCurrRecStatus)	\
    (This)->lpVtbl -> RollBackEventBlock(This,pCurrRecStatus)

#define IRsRecordMng_GetCurrFrame(This,pulFrame)	\
    (This)->lpVtbl -> GetCurrFrame(This,pulFrame)

#define IRsRecordMng_SetFrame(This,ulFrame)	\
    (This)->lpVtbl -> SetFrame(This,ulFrame)

#define IRsRecordMng_AttachPreviewFileName(This,bszPreviewFileName)	\
    (This)->lpVtbl -> AttachPreviewFileName(This,bszPreviewFileName)

#define IRsRecordMng_get_PreviewOffsetTime(This,pVal)	\
    (This)->lpVtbl -> get_PreviewOffsetTime(This,pVal)

#define IRsRecordMng_put_PreviewOffsetTime(This,newVal)	\
    (This)->lpVtbl -> put_PreviewOffsetTime(This,newVal)

#define IRsRecordMng_InvalidatePreferences(This)	\
    (This)->lpVtbl -> InvalidatePreferences(This)

#define IRsRecordMng_GetCurrTime(This,pdwTime)	\
    (This)->lpVtbl -> GetCurrTime(This,pdwTime)

#define IRsRecordMng_SaveRecordEx(This,bstrFileName,bstrAuthor,bstrDescr,pThumbnail)	\
    (This)->lpVtbl -> SaveRecordEx(This,bstrFileName,bstrAuthor,bstrDescr,pThumbnail)

#define IRsRecordMng_AddRecordChunk(This,pRsFileHandle)	\
    (This)->lpVtbl -> AddRecordChunk(This,pRsFileHandle)

#define IRsRecordMng_CopyStreamingRecord(This,pWriteStream)	\
    (This)->lpVtbl -> CopyStreamingRecord(This,pWriteStream)

#define IRsRecordMng_GetStreamingRecordLen(This,pqwDataLen)	\
    (This)->lpVtbl -> GetStreamingRecordLen(This,pqwDataLen)

#define IRsRecordMng_LoadRecordStream(This,pStream,qwDataLen)	\
    (This)->lpVtbl -> LoadRecordStream(This,pStream,qwDataLen)

#define IRsRecordMng_CanSaveNow(This)	\
    (This)->lpVtbl -> CanSaveNow(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_OnNotifyEvent_Proxy( 
    IRsRecordMng * This,
    /* [in] */ IRsNode *pRecSpace,
    /* [in] */ IRsNotifyEvent *pEvent);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_Initialize_Proxy( 
    IRsRecordMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_GetRepository_Proxy( 
    IRsRecordMng * This,
    /* [retval][out] */ IRsREBlockRepository **ppRepository);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_Destroy_Proxy( 
    IRsRecordMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_StartRecording_Proxy( 
    IRsRecordMng * This,
    /* [in] */ IRsNode *pRecNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_Stop_Proxy( 
    IRsRecordMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_PlayForward_Proxy( 
    IRsRecordMng * This,
    /* [in] */ RtUlong ulDelayTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_SaveRecord_Proxy( 
    IRsRecordMng * This,
    /* [in] */ BSTR bszRecordFileName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_LoadRecord_Proxy( 
    IRsRecordMng * This,
    /* [in] */ BSTR bszRecordFileName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_PlayRecordBack_Proxy( 
    IRsRecordMng * This,
    /* [in] */ RtUlong ulDelayTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_ClearRecord_Proxy( 
    IRsRecordMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_Pause_Proxy( 
    IRsRecordMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_ApplyNextEventBlock_Proxy( 
    IRsRecordMng * This,
    /* [out] */ RtRecStatus *pCurrRecStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_RollBackEventBlock_Proxy( 
    IRsRecordMng * This,
    /* [out] */ RtRecStatus *pCurrRecStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_GetCurrFrame_Proxy( 
    IRsRecordMng * This,
    /* [retval][out] */ RtUlong *pulFrame);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_SetFrame_Proxy( 
    IRsRecordMng * This,
    /* [in] */ RtUlong ulFrame);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_AttachPreviewFileName_Proxy( 
    IRsRecordMng * This,
    /* [in] */ BSTR bszPreviewFileName);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_get_PreviewOffsetTime_Proxy( 
    IRsRecordMng * This,
    /* [retval][out] */ RtUlong *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_put_PreviewOffsetTime_Proxy( 
    IRsRecordMng * This,
    /* [in] */ RtUlong newVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_InvalidatePreferences_Proxy( 
    IRsRecordMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_GetCurrTime_Proxy( 
    IRsRecordMng * This,
    /* [retval][out] */ RtDWORD *pdwTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_SaveRecordEx_Proxy( 
    IRsRecordMng * This,
    /* [in] */ BSTR bstrFileName,
    /* [in] */ BSTR bstrAuthor,
    /* [in] */ BSTR bstrDescr,
    /* [in] */ IRdBitmap *pThumbnail);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_AddRecordChunk_Proxy( 
    IRsRecordMng * This,
    /* [in] */ IRsFileHandle *pRsFileHandle);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_CopyStreamingRecord_Proxy( 
    IRsRecordMng * This,
    /* [in] */ IStream *pWriteStream);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_GetStreamingRecordLen_Proxy( 
    IRsRecordMng * This,
    /* [retval][out] */ RtQWORD *pqwDataLen);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_LoadRecordStream_Proxy( 
    IRsRecordMng * This,
    /* [in] */ IStream *pStream,
    /* [in] */ RtQWORD qwDataLen);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordMng_CanSaveNow_Proxy( 
    IRsRecordMng * This);


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



#endif 	/* __IRsRecordMng_INTERFACE_DEFINED__ */


#ifndef __IRfRecorderFn_INTERFACE_DEFINED__
#define __IRfRecorderFn_INTERFACE_DEFINED__

/* interface IRfRecorderFn */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfRecorderFn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("22673AAD-5BF5-44C2-9850-B2376B18B01C")
    IRfRecorderFn : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateRecPreferences( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindRecPreferences( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateRecordMng( 
            /* [retval][out] */ IRsRecordMng **ppRecordMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindRecordMng( 
            /* [retval][out] */ IRsRecordMng **ppNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfRecorderFnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfRecorderFn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfRecorderFn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfRecorderFn * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateRecPreferences )( 
            IRfRecorderFn * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindRecPreferences )( 
            IRfRecorderFn * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateRecordMng )( 
            IRfRecorderFn * This,
            /* [retval][out] */ IRsRecordMng **ppRecordMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindRecordMng )( 
            IRfRecorderFn * This,
            /* [retval][out] */ IRsRecordMng **ppNode);
        
        END_INTERFACE
    } IRfRecorderFnVtbl;

    interface IRfRecorderFn
    {
        CONST_VTBL struct IRfRecorderFnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfRecorderFn_CreateRecPreferences(This,ppNode)	\
    (This)->lpVtbl -> CreateRecPreferences(This,ppNode)

#define IRfRecorderFn_FindRecPreferences(This,ppNode)	\
    (This)->lpVtbl -> FindRecPreferences(This,ppNode)

#define IRfRecorderFn_CreateRecordMng(This,ppRecordMng)	\
    (This)->lpVtbl -> CreateRecordMng(This,ppRecordMng)

#define IRfRecorderFn_FindRecordMng(This,ppNode)	\
    (This)->lpVtbl -> FindRecordMng(This,ppNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRecorderFn_CreateRecPreferences_Proxy( 
    IRfRecorderFn * This,
    /* [retval][out] */ IRsNode **ppNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRecorderFn_FindRecPreferences_Proxy( 
    IRfRecorderFn * This,
    /* [retval][out] */ IRsNode **ppNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRecorderFn_CreateRecordMng_Proxy( 
    IRfRecorderFn * This,
    /* [retval][out] */ IRsRecordMng **ppRecordMng);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRecorderFn_FindRecordMng_Proxy( 
    IRfRecorderFn * This,
    /* [retval][out] */ IRsRecordMng **ppNode);


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



#endif 	/* __IRfRecorderFn_INTERFACE_DEFINED__ */


#ifndef __IRsFileTypeRecorder_INTERFACE_DEFINED__
#define __IRsFileTypeRecorder_INTERFACE_DEFINED__

/* interface IRsFileTypeRecorder */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFileTypeRecorder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B014323E-6C6E-4223-979B-9A28744548AC")
    IRsFileTypeRecorder : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsFileTypeRecorder
    {
        CONST_VTBL struct IRsFileTypeRecorderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsFileTypeRecorder_INTERFACE_DEFINED__ */


#ifndef __IRpRecorderPck_INTERFACE_DEFINED__
#define __IRpRecorderPck_INTERFACE_DEFINED__

/* interface IRpRecorderPck */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRpRecorderPck;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("49BF7B59-4FC8-4918-80EC-CE4C91B730F2")
    IRpRecorderPck : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRpRecorderPck
    {
        CONST_VTBL struct IRpRecorderPckVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRpRecorderPck_INTERFACE_DEFINED__ */


#ifndef __IRcOpenRecPreference_INTERFACE_DEFINED__
#define __IRcOpenRecPreference_INTERFACE_DEFINED__

/* interface IRcOpenRecPreference */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcOpenRecPreference;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A5752BD5-6820-4E30-8E3A-5646F77C35E7")
    IRcOpenRecPreference : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcOpenRecPreference
    {
        CONST_VTBL struct IRcOpenRecPreferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcOpenRecPreference_INTERFACE_DEFINED__ */


#ifndef __IRsRecUpdData_INTERFACE_DEFINED__
#define __IRsRecUpdData_INTERFACE_DEFINED__

/* interface IRsRecUpdData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRecUpdData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0211F649-3CFC-4311-AAE5-5BAB9664256D")
    IRsRecUpdData : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RecordData( 
            /* [retval][out] */ IRdRecData **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RecordData( 
            /* [in] */ IRdRecData *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentTime( 
            /* [retval][out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentTime( 
            /* [in] */ RtDWORD newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsRecUpdDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsRecUpdData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsRecUpdData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsRecUpdData * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecordData )( 
            IRsRecUpdData * This,
            /* [retval][out] */ IRdRecData **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RecordData )( 
            IRsRecUpdData * This,
            /* [in] */ IRdRecData *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentTime )( 
            IRsRecUpdData * This,
            /* [retval][out] */ RtDWORD *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentTime )( 
            IRsRecUpdData * This,
            /* [in] */ RtDWORD newVal);
        
        END_INTERFACE
    } IRsRecUpdDataVtbl;

    interface IRsRecUpdData
    {
        CONST_VTBL struct IRsRecUpdDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsRecUpdData_get_RecordData(This,pVal)	\
    (This)->lpVtbl -> get_RecordData(This,pVal)

#define IRsRecUpdData_put_RecordData(This,newVal)	\
    (This)->lpVtbl -> put_RecordData(This,newVal)

#define IRsRecUpdData_get_CurrentTime(This,pVal)	\
    (This)->lpVtbl -> get_CurrentTime(This,pVal)

#define IRsRecUpdData_put_CurrentTime(This,newVal)	\
    (This)->lpVtbl -> put_CurrentTime(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsRecUpdData_get_RecordData_Proxy( 
    IRsRecUpdData * This,
    /* [retval][out] */ IRdRecData **pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsRecUpdData_put_RecordData_Proxy( 
    IRsRecUpdData * This,
    /* [in] */ IRdRecData *newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsRecUpdData_get_CurrentTime_Proxy( 
    IRsRecUpdData * This,
    /* [retval][out] */ RtDWORD *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsRecUpdData_put_CurrentTime_Proxy( 
    IRsRecUpdData * This,
    /* [in] */ RtDWORD newVal);


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



#endif 	/* __IRsRecUpdData_INTERFACE_DEFINED__ */


#ifndef __IRsRecordPreview_INTERFACE_DEFINED__
#define __IRsRecordPreview_INTERFACE_DEFINED__

/* interface IRsRecordPreview */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRecordPreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2C8D3F26-861A-4CF4-8124-17F5D2BF987C")
    IRsRecordPreview : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Update( 
            /* [in] */ IRsRecUpdData *pData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsRecordPreviewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsRecordPreview * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsRecordPreview * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsRecordPreview * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IRsRecordPreview * This,
            /* [in] */ IRsRecUpdData *pData);
        
        END_INTERFACE
    } IRsRecordPreviewVtbl;

    interface IRsRecordPreview
    {
        CONST_VTBL struct IRsRecordPreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsRecordPreview_Update(This,pData)	\
    (This)->lpVtbl -> Update(This,pData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRecordPreview_Update_Proxy( 
    IRsRecordPreview * This,
    /* [in] */ IRsRecUpdData *pData);


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



#endif 	/* __IRsRecordPreview_INTERFACE_DEFINED__ */


#ifndef __IRnRecordPreview_INTERFACE_DEFINED__
#define __IRnRecordPreview_INTERFACE_DEFINED__

/* interface IRnRecordPreview */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnRecordPreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0C5B4B9B-720D-4728-96F1-B526470E9F9D")
    IRnRecordPreview : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRnRecordPreview
    {
        CONST_VTBL struct IRnRecordPreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnRecordPreview_INTERFACE_DEFINED__ */


#ifndef __IRcOpenRecPreview_INTERFACE_DEFINED__
#define __IRcOpenRecPreview_INTERFACE_DEFINED__

/* interface IRcOpenRecPreview */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcOpenRecPreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("90BCF424-7DB8-40DE-8115-437D53FC9C5E")
    IRcOpenRecPreview : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcOpenRecPreview
    {
        CONST_VTBL struct IRcOpenRecPreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcOpenRecPreview_INTERFACE_DEFINED__ */


#ifndef __IRcRecApply_INTERFACE_DEFINED__
#define __IRcRecApply_INTERFACE_DEFINED__

/* interface IRcRecApply */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRecApply;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A798F045-EEFF-4BF1-8BAA-F7EE78CE1481")
    IRcRecApply : public IRsObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRecApplyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRecApply * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRecApply * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRecApply * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRcRecApply * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRcRecApply * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IRcRecApplyVtbl;

    interface IRcRecApply
    {
        CONST_VTBL struct IRcRecApplyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRcRecApply_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRcRecApply_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRecApply_INTERFACE_DEFINED__ */


#ifndef __IRnRecord_INTERFACE_DEFINED__
#define __IRnRecord_INTERFACE_DEFINED__

/* interface IRnRecord */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnRecord;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9CE6FA67-422A-420E-A5DF-0C2D03B8EE2B")
    IRnRecord : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RecordManager( 
            /* [retval][out] */ IRsRecordMng **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RecordManager( 
            /* [in] */ IRsRecordMng *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScannedNode( 
            /* [retval][out] */ IRsNode **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ScannedNode( 
            /* [in] */ IRsNode *newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnRecordVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnRecord * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnRecord * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnRecord * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecordManager )( 
            IRnRecord * This,
            /* [retval][out] */ IRsRecordMng **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RecordManager )( 
            IRnRecord * This,
            /* [in] */ IRsRecordMng *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScannedNode )( 
            IRnRecord * This,
            /* [retval][out] */ IRsNode **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScannedNode )( 
            IRnRecord * This,
            /* [in] */ IRsNode *newVal);
        
        END_INTERFACE
    } IRnRecordVtbl;

    interface IRnRecord
    {
        CONST_VTBL struct IRnRecordVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRnRecord_get_RecordManager(This,pVal)	\
    (This)->lpVtbl -> get_RecordManager(This,pVal)

#define IRnRecord_put_RecordManager(This,newVal)	\
    (This)->lpVtbl -> put_RecordManager(This,newVal)

#define IRnRecord_get_ScannedNode(This,pVal)	\
    (This)->lpVtbl -> get_ScannedNode(This,pVal)

#define IRnRecord_put_ScannedNode(This,newVal)	\
    (This)->lpVtbl -> put_ScannedNode(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnRecord_get_RecordManager_Proxy( 
    IRnRecord * This,
    /* [retval][out] */ IRsRecordMng **pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnRecord_put_RecordManager_Proxy( 
    IRnRecord * This,
    /* [in] */ IRsRecordMng *newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnRecord_get_ScannedNode_Proxy( 
    IRnRecord * This,
    /* [retval][out] */ IRsNode **pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnRecord_put_ScannedNode_Proxy( 
    IRnRecord * This,
    /* [in] */ IRsNode *newVal);


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



#endif 	/* __IRnRecord_INTERFACE_DEFINED__ */


#ifndef __IRcRecord_INTERFACE_DEFINED__
#define __IRcRecord_INTERFACE_DEFINED__

/* interface IRcRecord */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRecord;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AB9BE97D-5AAD-44FC-82F4-5758A8CCCC2A")
    IRcRecord : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcRecord
    {
        CONST_VTBL struct IRcRecordVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRecord_INTERFACE_DEFINED__ */


#ifndef __IRcRecPreview_INTERFACE_DEFINED__
#define __IRcRecPreview_INTERFACE_DEFINED__

/* interface IRcRecPreview */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRecPreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8E4D66B0-0701-44AF-BAB9-7851F7D1C579")
    IRcRecPreview : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcRecPreview
    {
        CONST_VTBL struct IRcRecPreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRecPreview_INTERFACE_DEFINED__ */


#ifndef __IRcRecRollback_INTERFACE_DEFINED__
#define __IRcRecRollback_INTERFACE_DEFINED__

/* interface IRcRecRollback */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRecRollback;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A7A62F96-6010-4CBF-A2DA-3FE51F4CFC79")
    IRcRecRollback : public IUnknown
    {
    public:
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Repository( 
            /* [in] */ IRsBSEBlockRepository *newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RecordSpace( 
            /* [in] */ IRnEncapsulator *newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DelayTime( 
            /* [in] */ RtUlong newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcRecRollbackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRecRollback * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRecRollback * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRecRollback * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Repository )( 
            IRcRecRollback * This,
            /* [in] */ IRsBSEBlockRepository *newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RecordSpace )( 
            IRcRecRollback * This,
            /* [in] */ IRnEncapsulator *newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DelayTime )( 
            IRcRecRollback * This,
            /* [in] */ RtUlong newVal);
        
        END_INTERFACE
    } IRcRecRollbackVtbl;

    interface IRcRecRollback
    {
        CONST_VTBL struct IRcRecRollbackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRcRecRollback_put_Repository(This,newVal)	\
    (This)->lpVtbl -> put_Repository(This,newVal)

#define IRcRecRollback_put_RecordSpace(This,newVal)	\
    (This)->lpVtbl -> put_RecordSpace(This,newVal)

#define IRcRecRollback_put_DelayTime(This,newVal)	\
    (This)->lpVtbl -> put_DelayTime(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRcRecRollback_put_Repository_Proxy( 
    IRcRecRollback * This,
    /* [in] */ IRsBSEBlockRepository *newVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRcRecRollback_put_RecordSpace_Proxy( 
    IRcRecRollback * This,
    /* [in] */ IRnEncapsulator *newVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRcRecRollback_put_DelayTime_Proxy( 
    IRcRecRollback * This,
    /* [in] */ RtUlong newVal);


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



#endif 	/* __IRcRecRollback_INTERFACE_DEFINED__ */


#ifndef __IRnRecordMng_INTERFACE_DEFINED__
#define __IRnRecordMng_INTERFACE_DEFINED__

/* interface IRnRecordMng */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnRecordMng;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B892BC0E-0CA2-4BC5-AE61-068C5273E63E")
    IRnRecordMng : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRnRecordMng
    {
        CONST_VTBL struct IRnRecordMngVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnRecordMng_INTERFACE_DEFINED__ */


#ifndef __IRnRecPreference_INTERFACE_DEFINED__
#define __IRnRecPreference_INTERFACE_DEFINED__

/* interface IRnRecPreference */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnRecPreference;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B8229EA3-C31A-48D9-AB1E-3BE35AB332C0")
    IRnRecPreference : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRnRecPreference
    {
        CONST_VTBL struct IRnRecPreferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnRecPreference_INTERFACE_DEFINED__ */


#ifndef __IRiRecorder_INTERFACE_DEFINED__
#define __IRiRecorder_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRiRecorder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D736D985-E17E-4DFD-A01C-05BB8B458929")
    IRiRecorder : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Start( 
            /* [in] */ BSTR bszRecSpace) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Play( 
            /* [in] */ RtUlong ulDelayTime) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ BSTR bszRecFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR bszRecFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayBack( 
            /* [in] */ RtUlong ulDelayTime) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsReplaying( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetFrame( 
            /* [in] */ RtUlong ulFrame) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrFrame( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FrameCount( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateRecPreview( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AttachPreviewFile( 
            /* [in] */ BSTR bszRecPreviwFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AttachPreview( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenRecPreferences( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PreviewOffsetTime( 
            /* [retval][out] */ RtUlong *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PreviewOffsetTime( 
            /* [in] */ RtUlong newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiRecorderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiRecorder * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiRecorder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiRecorder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiRecorder * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiRecorder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiRecorder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiRecorder * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            IRiRecorder * This,
            /* [in] */ BSTR bszRecSpace);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IRiRecorder * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Play )( 
            IRiRecorder * This,
            /* [in] */ RtUlong ulDelayTime);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IRiRecorder * This,
            /* [in] */ BSTR bszRecFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IRiRecorder * This,
            /* [in] */ BSTR bszRecFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayBack )( 
            IRiRecorder * This,
            /* [in] */ RtUlong ulDelayTime);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
            IRiRecorder * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsReplaying )( 
            IRiRecorder * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRiRecorder * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetFrame )( 
            IRiRecorder * This,
            /* [in] */ RtUlong ulFrame);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrFrame )( 
            IRiRecorder * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameCount )( 
            IRiRecorder * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateRecPreview )( 
            IRiRecorder * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AttachPreviewFile )( 
            IRiRecorder * This,
            /* [in] */ BSTR bszRecPreviwFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AttachPreview )( 
            IRiRecorder * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenRecPreferences )( 
            IRiRecorder * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreviewOffsetTime )( 
            IRiRecorder * This,
            /* [retval][out] */ RtUlong *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreviewOffsetTime )( 
            IRiRecorder * This,
            /* [in] */ RtUlong newVal);
        
        END_INTERFACE
    } IRiRecorderVtbl;

    interface IRiRecorder
    {
        CONST_VTBL struct IRiRecorderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiRecorder_Start(This,bszRecSpace)	\
    (This)->lpVtbl -> Start(This,bszRecSpace)

#define IRiRecorder_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IRiRecorder_Play(This,ulDelayTime)	\
    (This)->lpVtbl -> Play(This,ulDelayTime)

#define IRiRecorder_Save(This,bszRecFileName)	\
    (This)->lpVtbl -> Save(This,bszRecFileName)

#define IRiRecorder_Load(This,bszRecFileName)	\
    (This)->lpVtbl -> Load(This,bszRecFileName)

#define IRiRecorder_PlayBack(This,ulDelayTime)	\
    (This)->lpVtbl -> PlayBack(This,ulDelayTime)

#define IRiRecorder_Pause(This)	\
    (This)->lpVtbl -> Pause(This)

#define IRiRecorder_get_IsReplaying(This,pVal)	\
    (This)->lpVtbl -> get_IsReplaying(This,pVal)

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

#define IRiRecorder_SetFrame(This,ulFrame)	\
    (This)->lpVtbl -> SetFrame(This,ulFrame)

#define IRiRecorder_get_CurrFrame(This,pVal)	\
    (This)->lpVtbl -> get_CurrFrame(This,pVal)

#define IRiRecorder_get_FrameCount(This,pVal)	\
    (This)->lpVtbl -> get_FrameCount(This,pVal)

#define IRiRecorder_CreateRecPreview(This)	\
    (This)->lpVtbl -> CreateRecPreview(This)

#define IRiRecorder_AttachPreviewFile(This,bszRecPreviwFileName)	\
    (This)->lpVtbl -> AttachPreviewFile(This,bszRecPreviwFileName)

#define IRiRecorder_AttachPreview(This)	\
    (This)->lpVtbl -> AttachPreview(This)

#define IRiRecorder_OpenRecPreferences(This)	\
    (This)->lpVtbl -> OpenRecPreferences(This)

#define IRiRecorder_get_PreviewOffsetTime(This,pVal)	\
    (This)->lpVtbl -> get_PreviewOffsetTime(This,pVal)

#define IRiRecorder_put_PreviewOffsetTime(This,newVal)	\
    (This)->lpVtbl -> put_PreviewOffsetTime(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_Start_Proxy( 
    IRiRecorder * This,
    /* [in] */ BSTR bszRecSpace);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_Stop_Proxy( 
    IRiRecorder * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_Play_Proxy( 
    IRiRecorder * This,
    /* [in] */ RtUlong ulDelayTime);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_Save_Proxy( 
    IRiRecorder * This,
    /* [in] */ BSTR bszRecFileName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_Load_Proxy( 
    IRiRecorder * This,
    /* [in] */ BSTR bszRecFileName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_PlayBack_Proxy( 
    IRiRecorder * This,
    /* [in] */ RtUlong ulDelayTime);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_Pause_Proxy( 
    IRiRecorder * This);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiRecorder_get_IsReplaying_Proxy( 
    IRiRecorder * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_Clear_Proxy( 
    IRiRecorder * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_SetFrame_Proxy( 
    IRiRecorder * This,
    /* [in] */ RtUlong ulFrame);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiRecorder_get_CurrFrame_Proxy( 
    IRiRecorder * This,
    /* [retval][out] */ RtUlong *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiRecorder_get_FrameCount_Proxy( 
    IRiRecorder * This,
    /* [retval][out] */ RtUlong *pVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_CreateRecPreview_Proxy( 
    IRiRecorder * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_AttachPreviewFile_Proxy( 
    IRiRecorder * This,
    /* [in] */ BSTR bszRecPreviwFileName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_AttachPreview_Proxy( 
    IRiRecorder * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiRecorder_OpenRecPreferences_Proxy( 
    IRiRecorder * This);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiRecorder_get_PreviewOffsetTime_Proxy( 
    IRiRecorder * This,
    /* [retval][out] */ RtUlong *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRiRecorder_put_PreviewOffsetTime_Proxy( 
    IRiRecorder * This,
    /* [in] */ RtUlong newVal);


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



#endif 	/* __IRiRecorder_INTERFACE_DEFINED__ */


#ifndef __IRsRecNodeFactory_INTERFACE_DEFINED__
#define __IRsRecNodeFactory_INTERFACE_DEFINED__

/* interface IRsRecNodeFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRecNodeFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F0C67969-BC21-47AD-BE2C-907EE1D67CDF")
    IRsRecNodeFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsRecNodeFactory
    {
        CONST_VTBL struct IRsRecNodeFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsRecNodeFactory_INTERFACE_DEFINED__ */


#ifndef __IRsRecCmdFactory_INTERFACE_DEFINED__
#define __IRsRecCmdFactory_INTERFACE_DEFINED__

/* interface IRsRecCmdFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRecCmdFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D1DCC8A0-CF41-42f1-BE93-DCF2757D7DFF")
    IRsRecCmdFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsRecCmdFactory
    {
        CONST_VTBL struct IRsRecCmdFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsRecCmdFactory_INTERFACE_DEFINED__ */


#ifndef __IRsRecDataObjFactory_INTERFACE_DEFINED__
#define __IRsRecDataObjFactory_INTERFACE_DEFINED__

/* interface IRsRecDataObjFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRecDataObjFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4D8D8270-D658-4471-B624-6BC02FF32122")
    IRsRecDataObjFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsRecDataObjFactory
    {
        CONST_VTBL struct IRsRecDataObjFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsRecDataObjFactory_INTERFACE_DEFINED__ */



#ifndef __Recorder_LIBRARY_DEFINED__
#define __Recorder_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_Recorder;

EXTERN_C const CLSID CLSID_CRpRecorderPck;

#ifdef __cplusplus

class DECLSPEC_UUID("4ED57560-31AE-412E-AA75-BAA843F5D057")
CRpRecorderPck;
#endif

EXTERN_C const CLSID CLSID_CRsRecordPreview;

#ifdef __cplusplus

class DECLSPEC_UUID("1510010E-B031-4C67-8325-9BD3587F36AA")
CRsRecordPreview;
#endif

EXTERN_C const CLSID CLSID_CRiRecorder;

#ifdef __cplusplus

class DECLSPEC_UUID("A830C711-7889-4F16-8E04-8B1FEEF22077")
CRiRecorder;
#endif
#endif /* __Recorder_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


