

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


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed May 20 19:17:29 2009
 */
/* Compiler settings for ..\..\builds\Release_Win32\_Library2.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 ___Library2_h__
#define ___Library2_h__

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

/* Forward Declarations */ 

#ifndef __IRsLibrary2NodeFactory_FWD_DEFINED__
#define __IRsLibrary2NodeFactory_FWD_DEFINED__
typedef interface IRsLibrary2NodeFactory IRsLibrary2NodeFactory;
#endif 	/* __IRsLibrary2NodeFactory_FWD_DEFINED__ */


#ifndef __IRsLibrary2CommandFactory_FWD_DEFINED__
#define __IRsLibrary2CommandFactory_FWD_DEFINED__
typedef interface IRsLibrary2CommandFactory IRsLibrary2CommandFactory;
#endif 	/* __IRsLibrary2CommandFactory_FWD_DEFINED__ */


#ifndef __IRsLibrary2DataObjectFactory_FWD_DEFINED__
#define __IRsLibrary2DataObjectFactory_FWD_DEFINED__
typedef interface IRsLibrary2DataObjectFactory IRsLibrary2DataObjectFactory;
#endif 	/* __IRsLibrary2DataObjectFactory_FWD_DEFINED__ */


#ifndef __IRsLibrary2UIControlFactory_FWD_DEFINED__
#define __IRsLibrary2UIControlFactory_FWD_DEFINED__
typedef interface IRsLibrary2UIControlFactory IRsLibrary2UIControlFactory;
#endif 	/* __IRsLibrary2UIControlFactory_FWD_DEFINED__ */


#ifndef __IRsLibraryItem_FWD_DEFINED__
#define __IRsLibraryItem_FWD_DEFINED__
typedef interface IRsLibraryItem IRsLibraryItem;
#endif 	/* __IRsLibraryItem_FWD_DEFINED__ */


#ifndef __IRsLibrary_FWD_DEFINED__
#define __IRsLibrary_FWD_DEFINED__
typedef interface IRsLibrary IRsLibrary;
#endif 	/* __IRsLibrary_FWD_DEFINED__ */


#ifndef __IRsDataChangeList_FWD_DEFINED__
#define __IRsDataChangeList_FWD_DEFINED__
typedef interface IRsDataChangeList IRsDataChangeList;
#endif 	/* __IRsDataChangeList_FWD_DEFINED__ */


#ifndef __IRsDataManager_FWD_DEFINED__
#define __IRsDataManager_FWD_DEFINED__
typedef interface IRsDataManager IRsDataManager;
#endif 	/* __IRsDataManager_FWD_DEFINED__ */


#ifndef __IRnLibraryPlace_FWD_DEFINED__
#define __IRnLibraryPlace_FWD_DEFINED__
typedef interface IRnLibraryPlace IRnLibraryPlace;
#endif 	/* __IRnLibraryPlace_FWD_DEFINED__ */


#ifndef __IRiLibrary2_FWD_DEFINED__
#define __IRiLibrary2_FWD_DEFINED__
typedef interface IRiLibrary2 IRiLibrary2;
#endif 	/* __IRiLibrary2_FWD_DEFINED__ */


#ifndef __IRsLibraryChangeList_FWD_DEFINED__
#define __IRsLibraryChangeList_FWD_DEFINED__
typedef interface IRsLibraryChangeList IRsLibraryChangeList;
#endif 	/* __IRsLibraryChangeList_FWD_DEFINED__ */


#ifndef __IRfFrontendLibraryActions_FWD_DEFINED__
#define __IRfFrontendLibraryActions_FWD_DEFINED__
typedef interface IRfFrontendLibraryActions IRfFrontendLibraryActions;
#endif 	/* __IRfFrontendLibraryActions_FWD_DEFINED__ */


#ifndef __IRfLibraryPlaceActions_FWD_DEFINED__
#define __IRfLibraryPlaceActions_FWD_DEFINED__
typedef interface IRfLibraryPlaceActions IRfLibraryPlaceActions;
#endif 	/* __IRfLibraryPlaceActions_FWD_DEFINED__ */


#ifndef __IRfLibraryActions_FWD_DEFINED__
#define __IRfLibraryActions_FWD_DEFINED__
typedef interface IRfLibraryActions IRfLibraryActions;
#endif 	/* __IRfLibraryActions_FWD_DEFINED__ */


#ifndef __IRfLibraryItemActions_FWD_DEFINED__
#define __IRfLibraryItemActions_FWD_DEFINED__
typedef interface IRfLibraryItemActions IRfLibraryItemActions;
#endif 	/* __IRfLibraryItemActions_FWD_DEFINED__ */


#ifndef __IRsOutlookControl_FWD_DEFINED__
#define __IRsOutlookControl_FWD_DEFINED__
typedef interface IRsOutlookControl IRsOutlookControl;
#endif 	/* __IRsOutlookControl_FWD_DEFINED__ */


#ifndef __IRsLibraryView_FWD_DEFINED__
#define __IRsLibraryView_FWD_DEFINED__
typedef interface IRsLibraryView IRsLibraryView;
#endif 	/* __IRsLibraryView_FWD_DEFINED__ */


#ifndef __IRnOutlookWindow_FWD_DEFINED__
#define __IRnOutlookWindow_FWD_DEFINED__
typedef interface IRnOutlookWindow IRnOutlookWindow;
#endif 	/* __IRnOutlookWindow_FWD_DEFINED__ */


#ifndef __IRfRemoteLibraryHelper_FWD_DEFINED__
#define __IRfRemoteLibraryHelper_FWD_DEFINED__
typedef interface IRfRemoteLibraryHelper IRfRemoteLibraryHelper;
#endif 	/* __IRfRemoteLibraryHelper_FWD_DEFINED__ */


#ifndef __IRpLibrary2_FWD_DEFINED__
#define __IRpLibrary2_FWD_DEFINED__
typedef interface IRpLibrary2 IRpLibrary2;
#endif 	/* __IRpLibrary2_FWD_DEFINED__ */


#ifndef __IRcShowStandardLibraryWindow_FWD_DEFINED__
#define __IRcShowStandardLibraryWindow_FWD_DEFINED__
typedef interface IRcShowStandardLibraryWindow IRcShowStandardLibraryWindow;
#endif 	/* __IRcShowStandardLibraryWindow_FWD_DEFINED__ */


#ifndef __IRcOpenLibraryPlace_FWD_DEFINED__
#define __IRcOpenLibraryPlace_FWD_DEFINED__
typedef interface IRcOpenLibraryPlace IRcOpenLibraryPlace;
#endif 	/* __IRcOpenLibraryPlace_FWD_DEFINED__ */


#ifndef __IRcShowLibraryBrowserWindow_FWD_DEFINED__
#define __IRcShowLibraryBrowserWindow_FWD_DEFINED__
typedef interface IRcShowLibraryBrowserWindow IRcShowLibraryBrowserWindow;
#endif 	/* __IRcShowLibraryBrowserWindow_FWD_DEFINED__ */


#ifndef __IRcShowLibraryTagEditorView_FWD_DEFINED__
#define __IRcShowLibraryTagEditorView_FWD_DEFINED__
typedef interface IRcShowLibraryTagEditorView IRcShowLibraryTagEditorView;
#endif 	/* __IRcShowLibraryTagEditorView_FWD_DEFINED__ */


#ifndef __IRcAddComponentsToLib_FWD_DEFINED__
#define __IRcAddComponentsToLib_FWD_DEFINED__
typedef interface IRcAddComponentsToLib IRcAddComponentsToLib;
#endif 	/* __IRcAddComponentsToLib_FWD_DEFINED__ */


#ifndef __IRcDlgGenericLoad_FWD_DEFINED__
#define __IRcDlgGenericLoad_FWD_DEFINED__
typedef interface IRcDlgGenericLoad IRcDlgGenericLoad;
#endif 	/* __IRcDlgGenericLoad_FWD_DEFINED__ */


#ifndef __IRcDlgGenericSave_FWD_DEFINED__
#define __IRcDlgGenericSave_FWD_DEFINED__
typedef interface IRcDlgGenericSave IRcDlgGenericSave;
#endif 	/* __IRcDlgGenericSave_FWD_DEFINED__ */


#ifndef __IRcInitializeLibraryPlace_FWD_DEFINED__
#define __IRcInitializeLibraryPlace_FWD_DEFINED__
typedef interface IRcInitializeLibraryPlace IRcInitializeLibraryPlace;
#endif 	/* __IRcInitializeLibraryPlace_FWD_DEFINED__ */


#ifndef __IRcMnChangeThumbn_FWD_DEFINED__
#define __IRcMnChangeThumbn_FWD_DEFINED__
typedef interface IRcMnChangeThumbn IRcMnChangeThumbn;
#endif 	/* __IRcMnChangeThumbn_FWD_DEFINED__ */


#ifndef __IRdOutlookWindowSettings_FWD_DEFINED__
#define __IRdOutlookWindowSettings_FWD_DEFINED__
typedef interface IRdOutlookWindowSettings IRdOutlookWindowSettings;
#endif 	/* __IRdOutlookWindowSettings_FWD_DEFINED__ */


#ifndef __IRsLibraryBrowserControl_FWD_DEFINED__
#define __IRsLibraryBrowserControl_FWD_DEFINED__
typedef interface IRsLibraryBrowserControl IRsLibraryBrowserControl;
#endif 	/* __IRsLibraryBrowserControl_FWD_DEFINED__ */


#ifndef __IRsLibraryBrowserToolbar_FWD_DEFINED__
#define __IRsLibraryBrowserToolbar_FWD_DEFINED__
typedef interface IRsLibraryBrowserToolbar IRsLibraryBrowserToolbar;
#endif 	/* __IRsLibraryBrowserToolbar_FWD_DEFINED__ */


#ifndef __IRnLibraryBrowserWindow_FWD_DEFINED__
#define __IRnLibraryBrowserWindow_FWD_DEFINED__
typedef interface IRnLibraryBrowserWindow IRnLibraryBrowserWindow;
#endif 	/* __IRnLibraryBrowserWindow_FWD_DEFINED__ */


#ifndef __IRnTagEditorView_FWD_DEFINED__
#define __IRnTagEditorView_FWD_DEFINED__
typedef interface IRnTagEditorView IRnTagEditorView;
#endif 	/* __IRnTagEditorView_FWD_DEFINED__ */


#ifndef __IRsPanelOutlookControl_FWD_DEFINED__
#define __IRsPanelOutlookControl_FWD_DEFINED__
typedef interface IRsPanelOutlookControl IRsPanelOutlookControl;
#endif 	/* __IRsPanelOutlookControl_FWD_DEFINED__ */


#ifndef __IRsImportItemInfo_FWD_DEFINED__
#define __IRsImportItemInfo_FWD_DEFINED__
typedef interface IRsImportItemInfo IRsImportItemInfo;
#endif 	/* __IRsImportItemInfo_FWD_DEFINED__ */


#ifndef __IRfLibraryImportSupport_FWD_DEFINED__
#define __IRfLibraryImportSupport_FWD_DEFINED__
typedef interface IRfLibraryImportSupport IRfLibraryImportSupport;
#endif 	/* __IRfLibraryImportSupport_FWD_DEFINED__ */


#ifndef __IRsAsyncSaveInfo_FWD_DEFINED__
#define __IRsAsyncSaveInfo_FWD_DEFINED__
typedef interface IRsAsyncSaveInfo IRsAsyncSaveInfo;
#endif 	/* __IRsAsyncSaveInfo_FWD_DEFINED__ */


#ifndef __CRiLibrary2_FWD_DEFINED__
#define __CRiLibrary2_FWD_DEFINED__

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

#endif 	/* __CRiLibrary2_FWD_DEFINED__ */


#ifndef __CRfLibraryActions_FWD_DEFINED__
#define __CRfLibraryActions_FWD_DEFINED__

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

#endif 	/* __CRfLibraryActions_FWD_DEFINED__ */


#ifndef __CRsOutlookControl_FWD_DEFINED__
#define __CRsOutlookControl_FWD_DEFINED__

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

#endif 	/* __CRsOutlookControl_FWD_DEFINED__ */


#ifndef __CRpLibrary2_FWD_DEFINED__
#define __CRpLibrary2_FWD_DEFINED__

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

#endif 	/* __CRpLibrary2_FWD_DEFINED__ */


#ifndef __CRdOutlookWindowSettings_FWD_DEFINED__
#define __CRdOutlookWindowSettings_FWD_DEFINED__

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

#endif 	/* __CRdOutlookWindowSettings_FWD_DEFINED__ */


#ifndef __CRsLibraryBrowserControl_FWD_DEFINED__
#define __CRsLibraryBrowserControl_FWD_DEFINED__

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

#endif 	/* __CRsLibraryBrowserControl_FWD_DEFINED__ */


#ifndef __CRsLibraryBrowserToolbar_FWD_DEFINED__
#define __CRsLibraryBrowserToolbar_FWD_DEFINED__

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

#endif 	/* __CRsLibraryBrowserToolbar_FWD_DEFINED__ */


#ifndef __RsPropertyColorDlg_FWD_DEFINED__
#define __RsPropertyColorDlg_FWD_DEFINED__

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

#endif 	/* __RsPropertyColorDlg_FWD_DEFINED__ */


#ifndef __RsPropertyGrid_FWD_DEFINED__
#define __RsPropertyGrid_FWD_DEFINED__

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

#endif 	/* __RsPropertyGrid_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 "_WindowsManager.h"
#include "_View3D.h"
#include "shldisp.h"
#include "shobjidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

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

#ifndef __IRsLibrary2NodeFactory_INTERFACE_DEFINED__
#define __IRsLibrary2NodeFactory_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibrary2NodeFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9FC98DA5-71D6-40af-9362-4ECAEC08D26C")
    IRsLibrary2NodeFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsLibrary2NodeFactory
    {
        CONST_VTBL struct IRsLibrary2NodeFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsLibrary2NodeFactory_INTERFACE_DEFINED__ */


#ifndef __IRsLibrary2CommandFactory_INTERFACE_DEFINED__
#define __IRsLibrary2CommandFactory_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibrary2CommandFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6A0959D7-6E26-4427-A1C2-124FF9DA204F")
    IRsLibrary2CommandFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsLibrary2CommandFactory
    {
        CONST_VTBL struct IRsLibrary2CommandFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsLibrary2CommandFactory_INTERFACE_DEFINED__ */


#ifndef __IRsLibrary2DataObjectFactory_INTERFACE_DEFINED__
#define __IRsLibrary2DataObjectFactory_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibrary2DataObjectFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("414BC2DB-D79A-4438-AC95-9D4B98D6D491")
    IRsLibrary2DataObjectFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsLibrary2DataObjectFactory
    {
        CONST_VTBL struct IRsLibrary2DataObjectFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsLibrary2DataObjectFactory_INTERFACE_DEFINED__ */


#ifndef __IRsLibrary2UIControlFactory_INTERFACE_DEFINED__
#define __IRsLibrary2UIControlFactory_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibrary2UIControlFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6733056E-6EF5-44d6-8A6F-E1923948443D")
    IRsLibrary2UIControlFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsLibrary2UIControlFactory
    {
        CONST_VTBL struct IRsLibrary2UIControlFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsLibrary2UIControlFactory_INTERFACE_DEFINED__ */


#ifndef __IRsLibraryItem_INTERFACE_DEFINED__
#define __IRsLibraryItem_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibraryItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7A14F2AC-ED50-4c80-9C6A-29CE98F501D5")
    IRsLibraryItem : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Set( 
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszExt,
            /* [in] */ IRsObject *pOwningLibrary,
            /* [in] */ RtBool bInitialized) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Initialized( 
            /* [retval][out] */ RtBool *pbInitialized) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Initialized( 
            /* [in] */ RtBool *pbInitialized) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetName( 
            /* [retval][out] */ BSTR *pbszName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetName( 
            /* [in] */ BSTR bszName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetExt( 
            /* [retval][out] */ BSTR *pbszExt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetExt( 
            /* [in] */ BSTR bszExt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileName( 
            /* [retval][out] */ BSTR *pbszFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFilePath( 
            /* [retval][out] */ BSTR *pbszPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddThumbnail( 
            /* [in] */ IRdBitmap *pThumbnail) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddNAThumbnail( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetThumbnailCount( 
            /* [in] */ RtDWORD *pdwCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetResizedThumbnail( 
            /* [in] */ RtDWORD dwId,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [retval][out] */ HICON *phIcon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataManager( 
            /* [out] */ IRsObject **ppDataManager) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAuthor( 
            /* [out] */ BSTR *pbszAuthor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutAuthor( 
            /* [in] */ BSTR bszAuthor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProducer( 
            /* [out] */ BSTR *pbszProducer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutProducer( 
            /* [in] */ BSTR bszProducer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDescription( 
            /* [out] */ BSTR *pbszDescription) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutDescription( 
            /* [in] */ BSTR bszDescription) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTypeIID( 
            /* [out] */ IID *piidType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutTypeIID( 
            /* [in] */ IID iidType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TagsCount( 
            /* [in] */ RtDWORD *pdwCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTag( 
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pbstrTagName,
            /* [out] */ VARIANT *pvValue,
            /* [out] */ RtDWORD *pdwFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTagByName( 
            /* [in] */ BSTR bszTagName,
            /* [out] */ VARIANT *pvValue,
            /* [out] */ RtDWORD *pdwFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTagByName( 
            /* [in] */ BSTR bszName,
            /* [in] */ VARIANT *pvValue,
            /* [in] */ RtDWORD dwFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileSize( 
            /* [out] */ RtQWORD *pqwSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutFileSize( 
            /* [in] */ RtQWORD qwSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastWriteTime( 
            /* [out] */ FILETIME *pTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutLastWriteTime( 
            /* [in] */ FILETIME time) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLibraryItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLibraryItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLibraryItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLibraryItem * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsLibraryItem * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsLibraryItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Set )( 
            IRsLibraryItem * This,
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszExt,
            /* [in] */ IRsObject *pOwningLibrary,
            /* [in] */ RtBool bInitialized);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Initialized )( 
            IRsLibraryItem * This,
            /* [retval][out] */ RtBool *pbInitialized);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Initialized )( 
            IRsLibraryItem * This,
            /* [in] */ RtBool *pbInitialized);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
            IRsLibraryItem * This,
            /* [retval][out] */ BSTR *pbszName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetName )( 
            IRsLibraryItem * This,
            /* [in] */ BSTR bszName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetExt )( 
            IRsLibraryItem * This,
            /* [retval][out] */ BSTR *pbszExt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetExt )( 
            IRsLibraryItem * This,
            /* [in] */ BSTR bszExt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileName )( 
            IRsLibraryItem * This,
            /* [retval][out] */ BSTR *pbszFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFilePath )( 
            IRsLibraryItem * This,
            /* [retval][out] */ BSTR *pbszPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddThumbnail )( 
            IRsLibraryItem * This,
            /* [in] */ IRdBitmap *pThumbnail);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddNAThumbnail )( 
            IRsLibraryItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetThumbnailCount )( 
            IRsLibraryItem * This,
            /* [in] */ RtDWORD *pdwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetResizedThumbnail )( 
            IRsLibraryItem * This,
            /* [in] */ RtDWORD dwId,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [retval][out] */ HICON *phIcon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataManager )( 
            IRsLibraryItem * This,
            /* [out] */ IRsObject **ppDataManager);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAuthor )( 
            IRsLibraryItem * This,
            /* [out] */ BSTR *pbszAuthor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutAuthor )( 
            IRsLibraryItem * This,
            /* [in] */ BSTR bszAuthor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProducer )( 
            IRsLibraryItem * This,
            /* [out] */ BSTR *pbszProducer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutProducer )( 
            IRsLibraryItem * This,
            /* [in] */ BSTR bszProducer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
            IRsLibraryItem * This,
            /* [out] */ BSTR *pbszDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutDescription )( 
            IRsLibraryItem * This,
            /* [in] */ BSTR bszDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTypeIID )( 
            IRsLibraryItem * This,
            /* [out] */ IID *piidType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutTypeIID )( 
            IRsLibraryItem * This,
            /* [in] */ IID iidType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *TagsCount )( 
            IRsLibraryItem * This,
            /* [in] */ RtDWORD *pdwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTag )( 
            IRsLibraryItem * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pbstrTagName,
            /* [out] */ VARIANT *pvValue,
            /* [out] */ RtDWORD *pdwFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTagByName )( 
            IRsLibraryItem * This,
            /* [in] */ BSTR bszTagName,
            /* [out] */ VARIANT *pvValue,
            /* [out] */ RtDWORD *pdwFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTagByName )( 
            IRsLibraryItem * This,
            /* [in] */ BSTR bszName,
            /* [in] */ VARIANT *pvValue,
            /* [in] */ RtDWORD dwFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileSize )( 
            IRsLibraryItem * This,
            /* [out] */ RtQWORD *pqwSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutFileSize )( 
            IRsLibraryItem * This,
            /* [in] */ RtQWORD qwSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastWriteTime )( 
            IRsLibraryItem * This,
            /* [out] */ FILETIME *pTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutLastWriteTime )( 
            IRsLibraryItem * This,
            /* [in] */ FILETIME time);
        
        END_INTERFACE
    } IRsLibraryItemVtbl;

    interface IRsLibraryItem
    {
        CONST_VTBL struct IRsLibraryItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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


#define IRsLibraryItem_Set(This,bszName,bszExt,pOwningLibrary,bInitialized)	\
    (This)->lpVtbl -> Set(This,bszName,bszExt,pOwningLibrary,bInitialized)

#define IRsLibraryItem_get_Initialized(This,pbInitialized)	\
    (This)->lpVtbl -> get_Initialized(This,pbInitialized)

#define IRsLibraryItem_put_Initialized(This,pbInitialized)	\
    (This)->lpVtbl -> put_Initialized(This,pbInitialized)

#define IRsLibraryItem_GetName(This,pbszName)	\
    (This)->lpVtbl -> GetName(This,pbszName)

#define IRsLibraryItem_SetName(This,bszName)	\
    (This)->lpVtbl -> SetName(This,bszName)

#define IRsLibraryItem_GetExt(This,pbszExt)	\
    (This)->lpVtbl -> GetExt(This,pbszExt)

#define IRsLibraryItem_SetExt(This,bszExt)	\
    (This)->lpVtbl -> SetExt(This,bszExt)

#define IRsLibraryItem_GetFileName(This,pbszFileName)	\
    (This)->lpVtbl -> GetFileName(This,pbszFileName)

#define IRsLibraryItem_GetFilePath(This,pbszPath)	\
    (This)->lpVtbl -> GetFilePath(This,pbszPath)

#define IRsLibraryItem_AddThumbnail(This,pThumbnail)	\
    (This)->lpVtbl -> AddThumbnail(This,pThumbnail)

#define IRsLibraryItem_AddNAThumbnail(This)	\
    (This)->lpVtbl -> AddNAThumbnail(This)

#define IRsLibraryItem_GetThumbnailCount(This,pdwCount)	\
    (This)->lpVtbl -> GetThumbnailCount(This,pdwCount)

#define IRsLibraryItem_GetResizedThumbnail(This,dwId,dwWidth,dwHeight,phIcon)	\
    (This)->lpVtbl -> GetResizedThumbnail(This,dwId,dwWidth,dwHeight,phIcon)

#define IRsLibraryItem_GetDataManager(This,ppDataManager)	\
    (This)->lpVtbl -> GetDataManager(This,ppDataManager)

#define IRsLibraryItem_GetAuthor(This,pbszAuthor)	\
    (This)->lpVtbl -> GetAuthor(This,pbszAuthor)

#define IRsLibraryItem_PutAuthor(This,bszAuthor)	\
    (This)->lpVtbl -> PutAuthor(This,bszAuthor)

#define IRsLibraryItem_GetProducer(This,pbszProducer)	\
    (This)->lpVtbl -> GetProducer(This,pbszProducer)

#define IRsLibraryItem_PutProducer(This,bszProducer)	\
    (This)->lpVtbl -> PutProducer(This,bszProducer)

#define IRsLibraryItem_GetDescription(This,pbszDescription)	\
    (This)->lpVtbl -> GetDescription(This,pbszDescription)

#define IRsLibraryItem_PutDescription(This,bszDescription)	\
    (This)->lpVtbl -> PutDescription(This,bszDescription)

#define IRsLibraryItem_GetTypeIID(This,piidType)	\
    (This)->lpVtbl -> GetTypeIID(This,piidType)

#define IRsLibraryItem_PutTypeIID(This,iidType)	\
    (This)->lpVtbl -> PutTypeIID(This,iidType)

#define IRsLibraryItem_TagsCount(This,pdwCount)	\
    (This)->lpVtbl -> TagsCount(This,pdwCount)

#define IRsLibraryItem_GetTag(This,dwIndex,pbstrTagName,pvValue,pdwFlags)	\
    (This)->lpVtbl -> GetTag(This,dwIndex,pbstrTagName,pvValue,pdwFlags)

#define IRsLibraryItem_GetTagByName(This,bszTagName,pvValue,pdwFlags)	\
    (This)->lpVtbl -> GetTagByName(This,bszTagName,pvValue,pdwFlags)

#define IRsLibraryItem_SetTagByName(This,bszName,pvValue,dwFlags)	\
    (This)->lpVtbl -> SetTagByName(This,bszName,pvValue,dwFlags)

#define IRsLibraryItem_GetFileSize(This,pqwSize)	\
    (This)->lpVtbl -> GetFileSize(This,pqwSize)

#define IRsLibraryItem_PutFileSize(This,qwSize)	\
    (This)->lpVtbl -> PutFileSize(This,qwSize)

#define IRsLibraryItem_GetLastWriteTime(This,pTime)	\
    (This)->lpVtbl -> GetLastWriteTime(This,pTime)

#define IRsLibraryItem_PutLastWriteTime(This,time)	\
    (This)->lpVtbl -> PutLastWriteTime(This,time)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_Set_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ BSTR bszName,
    /* [in] */ BSTR bszExt,
    /* [in] */ IRsObject *pOwningLibrary,
    /* [in] */ RtBool bInitialized);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_get_Initialized_Proxy( 
    IRsLibraryItem * This,
    /* [retval][out] */ RtBool *pbInitialized);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_put_Initialized_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ RtBool *pbInitialized);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetName_Proxy( 
    IRsLibraryItem * This,
    /* [retval][out] */ BSTR *pbszName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_SetName_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ BSTR bszName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetExt_Proxy( 
    IRsLibraryItem * This,
    /* [retval][out] */ BSTR *pbszExt);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_SetExt_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ BSTR bszExt);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetFileName_Proxy( 
    IRsLibraryItem * This,
    /* [retval][out] */ BSTR *pbszFileName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetFilePath_Proxy( 
    IRsLibraryItem * This,
    /* [retval][out] */ BSTR *pbszPath);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_AddThumbnail_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ IRdBitmap *pThumbnail);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_AddNAThumbnail_Proxy( 
    IRsLibraryItem * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetThumbnailCount_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ RtDWORD *pdwCount);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetResizedThumbnail_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ RtDWORD dwId,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [retval][out] */ HICON *phIcon);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetDataManager_Proxy( 
    IRsLibraryItem * This,
    /* [out] */ IRsObject **ppDataManager);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetAuthor_Proxy( 
    IRsLibraryItem * This,
    /* [out] */ BSTR *pbszAuthor);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_PutAuthor_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ BSTR bszAuthor);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetProducer_Proxy( 
    IRsLibraryItem * This,
    /* [out] */ BSTR *pbszProducer);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_PutProducer_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ BSTR bszProducer);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetDescription_Proxy( 
    IRsLibraryItem * This,
    /* [out] */ BSTR *pbszDescription);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_PutDescription_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ BSTR bszDescription);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetTypeIID_Proxy( 
    IRsLibraryItem * This,
    /* [out] */ IID *piidType);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_PutTypeIID_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ IID iidType);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_TagsCount_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ RtDWORD *pdwCount);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetTag_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ BSTR *pbstrTagName,
    /* [out] */ VARIANT *pvValue,
    /* [out] */ RtDWORD *pdwFlags);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetTagByName_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ BSTR bszTagName,
    /* [out] */ VARIANT *pvValue,
    /* [out] */ RtDWORD *pdwFlags);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_SetTagByName_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ BSTR bszName,
    /* [in] */ VARIANT *pvValue,
    /* [in] */ RtDWORD dwFlags);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetFileSize_Proxy( 
    IRsLibraryItem * This,
    /* [out] */ RtQWORD *pqwSize);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_PutFileSize_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ RtQWORD qwSize);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_GetLastWriteTime_Proxy( 
    IRsLibraryItem * This,
    /* [out] */ FILETIME *pTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryItem_PutLastWriteTime_Proxy( 
    IRsLibraryItem * This,
    /* [in] */ FILETIME time);


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



#endif 	/* __IRsLibraryItem_INTERFACE_DEFINED__ */


#ifndef __IRsLibrary_INTERFACE_DEFINED__
#define __IRsLibrary_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibrary;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("012EB811-06C0-44b1-9180-FBB5C1F96901")
    IRsLibrary : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Set( 
            /* [in] */ BSTR szName,
            /* [in] */ IRsObject *spOwner,
            /* [in] */ RtBool bInitialized) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Initialized( 
            /* [retval][out] */ RtBool *pbInitialized) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Initialized( 
            /* [in] */ RtBool *pbInitialized) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetName( 
            /* [retval][out] */ BSTR *pRetName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rename( 
            /* [in] */ BSTR bszNewName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOwner( 
            /* [retval][out] */ IRsObject **spOwner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPath( 
            /* [retval][out] */ BSTR *pPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryFilePath( 
            /* [in] */ BSTR pszFileName,
            /* [in] */ BSTR *pPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataManager( 
            /* [in] */ IRsObject **ppDataManager) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessDataChange( 
            /* [in] */ DWORD nChangeType,
            /* [in] */ BSTR bszSourceItem,
            /* [in] */ BSTR bszSourceItemExt,
            /* [in] */ BSTR bszDestinationItem,
            /* [in] */ BSTR bszDestinationItemExt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLoad( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pbzDescription) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR *pbzDescription) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TypeIID( 
            /* [retval][out] */ IID *piidType) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TypeIID( 
            /* [in] */ IID iidType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TypeIIDString( 
            /* [retval][out] */ BSTR *pbszTypeIID) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TypeIIDString( 
            /* [in] */ BSTR bszTypeIID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TypeName( 
            /* [retval][out] */ BSTR *pbszTypeName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FileType( 
            /* [retval][out] */ IRsFileIOType **ppFileType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Icon( 
            /* [retval][out] */ IRdBitmap **ppIcon) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Icon( 
            /* [in] */ IRdBitmap *pIcon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetResizedIcon( 
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ HICON *phIcon) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TagsCount( 
            /* [in] */ RtDWORD *pdwCount) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetTag( 
            /* [in] */ RtDWORD dwIndex,
            /* [in] */ BSTR *pbstrTagName,
            /* [in] */ VARIANT *pvValue,
            /* [in] */ RtDWORD *pdwFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetTagByName( 
            /* [in] */ BSTR bszName,
            /* [in] */ VARIANT *pvValue,
            /* [in] */ RtDWORD *pdwFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetTagByName( 
            /* [in] */ BSTR bszName,
            /* [in] */ VARIANT *pvValue,
            /* [in] */ RtDWORD dwFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReorderLibraryItem( 
            /* [in] */ IRsLibraryItem *pLibraryItem,
            /* [in] */ int dwNewIndex) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SortItemsByIndexer( 
            /* [in] */ BSTR bszIndexer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddUnitializedItem( 
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszExt,
            /* [in] */ RtLong nIndex,
            /* [in] */ IRsLibraryItem **ppRetItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetItemCount( 
            /* [in] */ RtDWORD *pdwCount,
            /* [in] */ RtBool bInitializedOnly) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetItem( 
            /* [in] */ RtDWORD dwIndex,
            /* [in] */ RtBool bInitializedOnly,
            /* [retval][out] */ IRsLibraryItem **ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetItemByName( 
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszItemExt,
            /* [in] */ RtBool bInitializedOnly,
            /* [retval][out] */ IRsLibraryItem **ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetItemIndexByName( 
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszExt,
            /* [in] */ RtBool bInitializedOnly,
            /* [retval][out] */ RtLong *nIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUniqueLoadedItemName( 
            /* [in] */ BSTR bszBaseName,
            /* [in] */ BSTR bszExt,
            /* [retval][out] */ BSTR *pbszUniqueName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUniqueFileItemName( 
            /* [in] */ BSTR bszBaseName,
            /* [in] */ BSTR bszExt,
            /* [retval][out] */ BSTR *pbszUniqueName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUniqueItemName( 
            /* [in] */ BSTR bszBaseName,
            /* [in] */ BSTR bszExt,
            /* [retval][out] */ BSTR *pbszUniqueName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Lock( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unlock( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLibraryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLibrary * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLibrary * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLibrary * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsLibrary * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsLibrary * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Set )( 
            IRsLibrary * This,
            /* [in] */ BSTR szName,
            /* [in] */ IRsObject *spOwner,
            /* [in] */ RtBool bInitialized);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Initialized )( 
            IRsLibrary * This,
            /* [retval][out] */ RtBool *pbInitialized);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Initialized )( 
            IRsLibrary * This,
            /* [in] */ RtBool *pbInitialized);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
            IRsLibrary * This,
            /* [retval][out] */ BSTR *pRetName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rename )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszNewName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOwner )( 
            IRsLibrary * This,
            /* [retval][out] */ IRsObject **spOwner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPath )( 
            IRsLibrary * This,
            /* [retval][out] */ BSTR *pPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryFilePath )( 
            IRsLibrary * This,
            /* [in] */ BSTR pszFileName,
            /* [in] */ BSTR *pPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataManager )( 
            IRsLibrary * This,
            /* [in] */ IRsObject **ppDataManager);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessDataChange )( 
            IRsLibrary * This,
            /* [in] */ DWORD nChangeType,
            /* [in] */ BSTR bszSourceItem,
            /* [in] */ BSTR bszSourceItemExt,
            /* [in] */ BSTR bszDestinationItem,
            /* [in] */ BSTR bszDestinationItemExt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnLoad )( 
            IRsLibrary * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IRsLibrary * This,
            /* [retval][out] */ BSTR *pbzDescription);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IRsLibrary * This,
            /* [in] */ BSTR *pbzDescription);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TypeIID )( 
            IRsLibrary * This,
            /* [retval][out] */ IID *piidType);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TypeIID )( 
            IRsLibrary * This,
            /* [in] */ IID iidType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TypeIIDString )( 
            IRsLibrary * This,
            /* [retval][out] */ BSTR *pbszTypeIID);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TypeIIDString )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszTypeIID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TypeName )( 
            IRsLibrary * This,
            /* [retval][out] */ BSTR *pbszTypeName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileType )( 
            IRsLibrary * This,
            /* [retval][out] */ IRsFileIOType **ppFileType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Icon )( 
            IRsLibrary * This,
            /* [retval][out] */ IRdBitmap **ppIcon);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Icon )( 
            IRsLibrary * This,
            /* [in] */ IRdBitmap *pIcon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetResizedIcon )( 
            IRsLibrary * This,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ HICON *phIcon);
        
        HRESULT ( STDMETHODCALLTYPE *TagsCount )( 
            IRsLibrary * This,
            /* [in] */ RtDWORD *pdwCount);
        
        HRESULT ( STDMETHODCALLTYPE *GetTag )( 
            IRsLibrary * This,
            /* [in] */ RtDWORD dwIndex,
            /* [in] */ BSTR *pbstrTagName,
            /* [in] */ VARIANT *pvValue,
            /* [in] */ RtDWORD *pdwFlags);
        
        HRESULT ( STDMETHODCALLTYPE *GetTagByName )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszName,
            /* [in] */ VARIANT *pvValue,
            /* [in] */ RtDWORD *pdwFlags);
        
        HRESULT ( STDMETHODCALLTYPE *SetTagByName )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszName,
            /* [in] */ VARIANT *pvValue,
            /* [in] */ RtDWORD dwFlags);
        
        HRESULT ( STDMETHODCALLTYPE *ReorderLibraryItem )( 
            IRsLibrary * This,
            /* [in] */ IRsLibraryItem *pLibraryItem,
            /* [in] */ int dwNewIndex);
        
        HRESULT ( STDMETHODCALLTYPE *SortItemsByIndexer )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszIndexer);
        
        HRESULT ( STDMETHODCALLTYPE *AddUnitializedItem )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszExt,
            /* [in] */ RtLong nIndex,
            /* [in] */ IRsLibraryItem **ppRetItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetItemCount )( 
            IRsLibrary * This,
            /* [in] */ RtDWORD *pdwCount,
            /* [in] */ RtBool bInitializedOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetItem )( 
            IRsLibrary * This,
            /* [in] */ RtDWORD dwIndex,
            /* [in] */ RtBool bInitializedOnly,
            /* [retval][out] */ IRsLibraryItem **ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetItemByName )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszItemExt,
            /* [in] */ RtBool bInitializedOnly,
            /* [retval][out] */ IRsLibraryItem **ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetItemIndexByName )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszExt,
            /* [in] */ RtBool bInitializedOnly,
            /* [retval][out] */ RtLong *nIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUniqueLoadedItemName )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszBaseName,
            /* [in] */ BSTR bszExt,
            /* [retval][out] */ BSTR *pbszUniqueName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUniqueFileItemName )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszBaseName,
            /* [in] */ BSTR bszExt,
            /* [retval][out] */ BSTR *pbszUniqueName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUniqueItemName )( 
            IRsLibrary * This,
            /* [in] */ BSTR bszBaseName,
            /* [in] */ BSTR bszExt,
            /* [retval][out] */ BSTR *pbszUniqueName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Lock )( 
            IRsLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unlock )( 
            IRsLibrary * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsLibrary * This);
        
        END_INTERFACE
    } IRsLibraryVtbl;

    interface IRsLibrary
    {
        CONST_VTBL struct IRsLibraryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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


#define IRsLibrary_Set(This,szName,spOwner,bInitialized)	\
    (This)->lpVtbl -> Set(This,szName,spOwner,bInitialized)

#define IRsLibrary_get_Initialized(This,pbInitialized)	\
    (This)->lpVtbl -> get_Initialized(This,pbInitialized)

#define IRsLibrary_put_Initialized(This,pbInitialized)	\
    (This)->lpVtbl -> put_Initialized(This,pbInitialized)

#define IRsLibrary_GetName(This,pRetName)	\
    (This)->lpVtbl -> GetName(This,pRetName)

#define IRsLibrary_Rename(This,bszNewName)	\
    (This)->lpVtbl -> Rename(This,bszNewName)

#define IRsLibrary_GetOwner(This,spOwner)	\
    (This)->lpVtbl -> GetOwner(This,spOwner)

#define IRsLibrary_GetPath(This,pPath)	\
    (This)->lpVtbl -> GetPath(This,pPath)

#define IRsLibrary_GetLibraryFilePath(This,pszFileName,pPath)	\
    (This)->lpVtbl -> GetLibraryFilePath(This,pszFileName,pPath)

#define IRsLibrary_GetDataManager(This,ppDataManager)	\
    (This)->lpVtbl -> GetDataManager(This,ppDataManager)

#define IRsLibrary_ProcessDataChange(This,nChangeType,bszSourceItem,bszSourceItemExt,bszDestinationItem,bszDestinationItemExt)	\
    (This)->lpVtbl -> ProcessDataChange(This,nChangeType,bszSourceItem,bszSourceItemExt,bszDestinationItem,bszDestinationItemExt)

#define IRsLibrary_OnLoad(This)	\
    (This)->lpVtbl -> OnLoad(This)

#define IRsLibrary_get_Description(This,pbzDescription)	\
    (This)->lpVtbl -> get_Description(This,pbzDescription)

#define IRsLibrary_put_Description(This,pbzDescription)	\
    (This)->lpVtbl -> put_Description(This,pbzDescription)

#define IRsLibrary_get_TypeIID(This,piidType)	\
    (This)->lpVtbl -> get_TypeIID(This,piidType)

#define IRsLibrary_put_TypeIID(This,iidType)	\
    (This)->lpVtbl -> put_TypeIID(This,iidType)

#define IRsLibrary_get_TypeIIDString(This,pbszTypeIID)	\
    (This)->lpVtbl -> get_TypeIIDString(This,pbszTypeIID)

#define IRsLibrary_put_TypeIIDString(This,bszTypeIID)	\
    (This)->lpVtbl -> put_TypeIIDString(This,bszTypeIID)

#define IRsLibrary_get_TypeName(This,pbszTypeName)	\
    (This)->lpVtbl -> get_TypeName(This,pbszTypeName)

#define IRsLibrary_get_FileType(This,ppFileType)	\
    (This)->lpVtbl -> get_FileType(This,ppFileType)

#define IRsLibrary_get_Icon(This,ppIcon)	\
    (This)->lpVtbl -> get_Icon(This,ppIcon)

#define IRsLibrary_put_Icon(This,pIcon)	\
    (This)->lpVtbl -> put_Icon(This,pIcon)

#define IRsLibrary_GetResizedIcon(This,dwWidth,dwHeight,phIcon)	\
    (This)->lpVtbl -> GetResizedIcon(This,dwWidth,dwHeight,phIcon)

#define IRsLibrary_TagsCount(This,pdwCount)	\
    (This)->lpVtbl -> TagsCount(This,pdwCount)

#define IRsLibrary_GetTag(This,dwIndex,pbstrTagName,pvValue,pdwFlags)	\
    (This)->lpVtbl -> GetTag(This,dwIndex,pbstrTagName,pvValue,pdwFlags)

#define IRsLibrary_GetTagByName(This,bszName,pvValue,pdwFlags)	\
    (This)->lpVtbl -> GetTagByName(This,bszName,pvValue,pdwFlags)

#define IRsLibrary_SetTagByName(This,bszName,pvValue,dwFlags)	\
    (This)->lpVtbl -> SetTagByName(This,bszName,pvValue,dwFlags)

#define IRsLibrary_ReorderLibraryItem(This,pLibraryItem,dwNewIndex)	\
    (This)->lpVtbl -> ReorderLibraryItem(This,pLibraryItem,dwNewIndex)

#define IRsLibrary_SortItemsByIndexer(This,bszIndexer)	\
    (This)->lpVtbl -> SortItemsByIndexer(This,bszIndexer)

#define IRsLibrary_AddUnitializedItem(This,bszName,bszExt,nIndex,ppRetItem)	\
    (This)->lpVtbl -> AddUnitializedItem(This,bszName,bszExt,nIndex,ppRetItem)

#define IRsLibrary_GetItemCount(This,pdwCount,bInitializedOnly)	\
    (This)->lpVtbl -> GetItemCount(This,pdwCount,bInitializedOnly)

#define IRsLibrary_GetItem(This,dwIndex,bInitializedOnly,ppItem)	\
    (This)->lpVtbl -> GetItem(This,dwIndex,bInitializedOnly,ppItem)

#define IRsLibrary_GetItemByName(This,bszName,bszItemExt,bInitializedOnly,ppItem)	\
    (This)->lpVtbl -> GetItemByName(This,bszName,bszItemExt,bInitializedOnly,ppItem)

#define IRsLibrary_GetItemIndexByName(This,bszName,bszExt,bInitializedOnly,nIndex)	\
    (This)->lpVtbl -> GetItemIndexByName(This,bszName,bszExt,bInitializedOnly,nIndex)

#define IRsLibrary_GetUniqueLoadedItemName(This,bszBaseName,bszExt,pbszUniqueName)	\
    (This)->lpVtbl -> GetUniqueLoadedItemName(This,bszBaseName,bszExt,pbszUniqueName)

#define IRsLibrary_GetUniqueFileItemName(This,bszBaseName,bszExt,pbszUniqueName)	\
    (This)->lpVtbl -> GetUniqueFileItemName(This,bszBaseName,bszExt,pbszUniqueName)

#define IRsLibrary_GetUniqueItemName(This,bszBaseName,bszExt,pbszUniqueName)	\
    (This)->lpVtbl -> GetUniqueItemName(This,bszBaseName,bszExt,pbszUniqueName)

#define IRsLibrary_Lock(This)	\
    (This)->lpVtbl -> Lock(This)

#define IRsLibrary_Unlock(This)	\
    (This)->lpVtbl -> Unlock(This)

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

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_Set_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR szName,
    /* [in] */ IRsObject *spOwner,
    /* [in] */ RtBool bInitialized);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLibrary_get_Initialized_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ RtBool *pbInitialized);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsLibrary_put_Initialized_Proxy( 
    IRsLibrary * This,
    /* [in] */ RtBool *pbInitialized);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetName_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ BSTR *pRetName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_Rename_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszNewName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetOwner_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ IRsObject **spOwner);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetPath_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ BSTR *pPath);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetLibraryFilePath_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR pszFileName,
    /* [in] */ BSTR *pPath);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetDataManager_Proxy( 
    IRsLibrary * This,
    /* [in] */ IRsObject **ppDataManager);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_ProcessDataChange_Proxy( 
    IRsLibrary * This,
    /* [in] */ DWORD nChangeType,
    /* [in] */ BSTR bszSourceItem,
    /* [in] */ BSTR bszSourceItemExt,
    /* [in] */ BSTR bszDestinationItem,
    /* [in] */ BSTR bszDestinationItemExt);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_OnLoad_Proxy( 
    IRsLibrary * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLibrary_get_Description_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ BSTR *pbzDescription);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsLibrary_put_Description_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR *pbzDescription);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLibrary_get_TypeIID_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ IID *piidType);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsLibrary_put_TypeIID_Proxy( 
    IRsLibrary * This,
    /* [in] */ IID iidType);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLibrary_get_TypeIIDString_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ BSTR *pbszTypeIID);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsLibrary_put_TypeIIDString_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszTypeIID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLibrary_get_TypeName_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ BSTR *pbszTypeName);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLibrary_get_FileType_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ IRsFileIOType **ppFileType);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsLibrary_get_Icon_Proxy( 
    IRsLibrary * This,
    /* [retval][out] */ IRdBitmap **ppIcon);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsLibrary_put_Icon_Proxy( 
    IRsLibrary * This,
    /* [in] */ IRdBitmap *pIcon);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetResizedIcon_Proxy( 
    IRsLibrary * This,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [in] */ HICON *phIcon);


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


HRESULT STDMETHODCALLTYPE IRsLibrary_TagsCount_Proxy( 
    IRsLibrary * This,
    /* [in] */ RtDWORD *pdwCount);


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


HRESULT STDMETHODCALLTYPE IRsLibrary_GetTag_Proxy( 
    IRsLibrary * This,
    /* [in] */ RtDWORD dwIndex,
    /* [in] */ BSTR *pbstrTagName,
    /* [in] */ VARIANT *pvValue,
    /* [in] */ RtDWORD *pdwFlags);


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


HRESULT STDMETHODCALLTYPE IRsLibrary_GetTagByName_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszName,
    /* [in] */ VARIANT *pvValue,
    /* [in] */ RtDWORD *pdwFlags);


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


HRESULT STDMETHODCALLTYPE IRsLibrary_SetTagByName_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszName,
    /* [in] */ VARIANT *pvValue,
    /* [in] */ RtDWORD dwFlags);


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


HRESULT STDMETHODCALLTYPE IRsLibrary_ReorderLibraryItem_Proxy( 
    IRsLibrary * This,
    /* [in] */ IRsLibraryItem *pLibraryItem,
    /* [in] */ int dwNewIndex);


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


HRESULT STDMETHODCALLTYPE IRsLibrary_SortItemsByIndexer_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszIndexer);


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


HRESULT STDMETHODCALLTYPE IRsLibrary_AddUnitializedItem_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszName,
    /* [in] */ BSTR bszExt,
    /* [in] */ RtLong nIndex,
    /* [in] */ IRsLibraryItem **ppRetItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetItemCount_Proxy( 
    IRsLibrary * This,
    /* [in] */ RtDWORD *pdwCount,
    /* [in] */ RtBool bInitializedOnly);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetItem_Proxy( 
    IRsLibrary * This,
    /* [in] */ RtDWORD dwIndex,
    /* [in] */ RtBool bInitializedOnly,
    /* [retval][out] */ IRsLibraryItem **ppItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetItemByName_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszName,
    /* [in] */ BSTR bszItemExt,
    /* [in] */ RtBool bInitializedOnly,
    /* [retval][out] */ IRsLibraryItem **ppItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetItemIndexByName_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszName,
    /* [in] */ BSTR bszExt,
    /* [in] */ RtBool bInitializedOnly,
    /* [retval][out] */ RtLong *nIndex);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetUniqueLoadedItemName_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszBaseName,
    /* [in] */ BSTR bszExt,
    /* [retval][out] */ BSTR *pbszUniqueName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetUniqueFileItemName_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszBaseName,
    /* [in] */ BSTR bszExt,
    /* [retval][out] */ BSTR *pbszUniqueName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_GetUniqueItemName_Proxy( 
    IRsLibrary * This,
    /* [in] */ BSTR bszBaseName,
    /* [in] */ BSTR bszExt,
    /* [retval][out] */ BSTR *pbszUniqueName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_Lock_Proxy( 
    IRsLibrary * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_Unlock_Proxy( 
    IRsLibrary * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibrary_Destroy_Proxy( 
    IRsLibrary * This);


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



#endif 	/* __IRsLibrary_INTERFACE_DEFINED__ */


#ifndef __IRsDataChangeList_INTERFACE_DEFINED__
#define __IRsDataChangeList_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsDataChangeList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F3C62C71-06C7-49e8-B926-553CF692994E")
    IRsDataChangeList : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddChange( 
            /* [in] */ DWORD nDataChangeType,
            /* [in] */ BSTR szSourceULI) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddChange2( 
            /* [in] */ DWORD nDataChangeType,
            /* [in] */ BSTR szSourceULI,
            /* [in] */ BSTR szDestinationULI) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [out] */ DWORD *nSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ DWORD nIndex,
            /* [out] */ DWORD *pDataChangeType,
            /* [out] */ BSTR *szSourceULI,
            /* [out] */ BSTR *szDestinationULI) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDataChangeListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDataChangeList * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDataChangeList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDataChangeList * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsDataChangeList * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsDataChangeList * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddChange )( 
            IRsDataChangeList * This,
            /* [in] */ DWORD nDataChangeType,
            /* [in] */ BSTR szSourceULI);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddChange2 )( 
            IRsDataChangeList * This,
            /* [in] */ DWORD nDataChangeType,
            /* [in] */ BSTR szSourceULI,
            /* [in] */ BSTR szDestinationULI);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRsDataChangeList * This,
            /* [out] */ DWORD *nSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRsDataChangeList * This,
            /* [in] */ DWORD nIndex,
            /* [out] */ DWORD *pDataChangeType,
            /* [out] */ BSTR *szSourceULI,
            /* [out] */ BSTR *szDestinationULI);
        
        END_INTERFACE
    } IRsDataChangeListVtbl;

    interface IRsDataChangeList
    {
        CONST_VTBL struct IRsDataChangeListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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


#define IRsDataChangeList_AddChange(This,nDataChangeType,szSourceULI)	\
    (This)->lpVtbl -> AddChange(This,nDataChangeType,szSourceULI)

#define IRsDataChangeList_AddChange2(This,nDataChangeType,szSourceULI,szDestinationULI)	\
    (This)->lpVtbl -> AddChange2(This,nDataChangeType,szSourceULI,szDestinationULI)

#define IRsDataChangeList_GetCount(This,nSize)	\
    (This)->lpVtbl -> GetCount(This,nSize)

#define IRsDataChangeList_GetAt(This,nIndex,pDataChangeType,szSourceULI,szDestinationULI)	\
    (This)->lpVtbl -> GetAt(This,nIndex,pDataChangeType,szSourceULI,szDestinationULI)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataChangeList_AddChange_Proxy( 
    IRsDataChangeList * This,
    /* [in] */ DWORD nDataChangeType,
    /* [in] */ BSTR szSourceULI);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataChangeList_AddChange2_Proxy( 
    IRsDataChangeList * This,
    /* [in] */ DWORD nDataChangeType,
    /* [in] */ BSTR szSourceULI,
    /* [in] */ BSTR szDestinationULI);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataChangeList_GetCount_Proxy( 
    IRsDataChangeList * This,
    /* [out] */ DWORD *nSize);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataChangeList_GetAt_Proxy( 
    IRsDataChangeList * This,
    /* [in] */ DWORD nIndex,
    /* [out] */ DWORD *pDataChangeType,
    /* [out] */ BSTR *szSourceULI,
    /* [out] */ BSTR *szDestinationULI);


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



#endif 	/* __IRsDataChangeList_INTERFACE_DEFINED__ */


#ifndef __IRsDataManager_INTERFACE_DEFINED__
#define __IRsDataManager_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsDataManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("53A4C3DE-40D5-43f7-85F9-3EAAE296BEC4")
    IRsDataManager : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ BSTR szRootDirectory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Finalize( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetContentAsListOfChanges( 
            /* [in] */ IRsDataChangeList **pIDataChangeList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartChangesMonitor( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckForChanges( 
            /* [in] */ IRsDataChangeList **ppiDataChangeList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopChangesMonitor( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileSupport( 
            /* [in] */ IRfFileSupport **ppIFileSupport) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFileHandle( 
            /* [in] */ BSTR bszFileName,
            /* [in] */ RtDWORD dwFlags,
            /* [in] */ IRsFileHandle **ppRsFileHandle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddContentOfLibraryDirectory( 
            /* [in] */ BSTR szLibraryName,
            /* [in] */ IRsDataChangeList *piDataChangeList) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDataManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDataManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDataManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDataManager * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsDataManager * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsDataManager * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsDataManager * This,
            /* [in] */ BSTR szRootDirectory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Finalize )( 
            IRsDataManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetContentAsListOfChanges )( 
            IRsDataManager * This,
            /* [in] */ IRsDataChangeList **pIDataChangeList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartChangesMonitor )( 
            IRsDataManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckForChanges )( 
            IRsDataManager * This,
            /* [in] */ IRsDataChangeList **ppiDataChangeList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StopChangesMonitor )( 
            IRsDataManager * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileSupport )( 
            IRsDataManager * This,
            /* [in] */ IRfFileSupport **ppIFileSupport);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFileHandle )( 
            IRsDataManager * This,
            /* [in] */ BSTR bszFileName,
            /* [in] */ RtDWORD dwFlags,
            /* [in] */ IRsFileHandle **ppRsFileHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddContentOfLibraryDirectory )( 
            IRsDataManager * This,
            /* [in] */ BSTR szLibraryName,
            /* [in] */ IRsDataChangeList *piDataChangeList);
        
        END_INTERFACE
    } IRsDataManagerVtbl;

    interface IRsDataManager
    {
        CONST_VTBL struct IRsDataManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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


#define IRsDataManager_Initialize(This,szRootDirectory)	\
    (This)->lpVtbl -> Initialize(This,szRootDirectory)

#define IRsDataManager_Finalize(This)	\
    (This)->lpVtbl -> Finalize(This)

#define IRsDataManager_GetContentAsListOfChanges(This,pIDataChangeList)	\
    (This)->lpVtbl -> GetContentAsListOfChanges(This,pIDataChangeList)

#define IRsDataManager_StartChangesMonitor(This)	\
    (This)->lpVtbl -> StartChangesMonitor(This)

#define IRsDataManager_CheckForChanges(This,ppiDataChangeList)	\
    (This)->lpVtbl -> CheckForChanges(This,ppiDataChangeList)

#define IRsDataManager_StopChangesMonitor(This)	\
    (This)->lpVtbl -> StopChangesMonitor(This)

#define IRsDataManager_GetFileSupport(This,ppIFileSupport)	\
    (This)->lpVtbl -> GetFileSupport(This,ppIFileSupport)

#define IRsDataManager_CreateFileHandle(This,bszFileName,dwFlags,ppRsFileHandle)	\
    (This)->lpVtbl -> CreateFileHandle(This,bszFileName,dwFlags,ppRsFileHandle)

#define IRsDataManager_AddContentOfLibraryDirectory(This,szLibraryName,piDataChangeList)	\
    (This)->lpVtbl -> AddContentOfLibraryDirectory(This,szLibraryName,piDataChangeList)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_Initialize_Proxy( 
    IRsDataManager * This,
    /* [in] */ BSTR szRootDirectory);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_Finalize_Proxy( 
    IRsDataManager * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_GetContentAsListOfChanges_Proxy( 
    IRsDataManager * This,
    /* [in] */ IRsDataChangeList **pIDataChangeList);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_StartChangesMonitor_Proxy( 
    IRsDataManager * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_CheckForChanges_Proxy( 
    IRsDataManager * This,
    /* [in] */ IRsDataChangeList **ppiDataChangeList);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_StopChangesMonitor_Proxy( 
    IRsDataManager * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_GetFileSupport_Proxy( 
    IRsDataManager * This,
    /* [in] */ IRfFileSupport **ppIFileSupport);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_CreateFileHandle_Proxy( 
    IRsDataManager * This,
    /* [in] */ BSTR bszFileName,
    /* [in] */ RtDWORD dwFlags,
    /* [in] */ IRsFileHandle **ppRsFileHandle);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataManager_AddContentOfLibraryDirectory_Proxy( 
    IRsDataManager * This,
    /* [in] */ BSTR szLibraryName,
    /* [in] */ IRsDataChangeList *piDataChangeList);


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



#endif 	/* __IRsDataManager_INTERFACE_DEFINED__ */


#ifndef __IRnLibraryPlace_INTERFACE_DEFINED__
#define __IRnLibraryPlace_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRnLibraryPlace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D46EA847-5968-4D4B-8B46-44DA0724B052")
    IRnLibraryPlace : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ BSTR szRootDirectory) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryPath( 
            /* [in] */ BSTR bszLibraryName,
            /* [in] */ BSTR *pbszLibraryPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddUnitializedLibrary( 
            /* [in] */ BSTR bszName,
            /* [in] */ IRsLibrary **ppLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryByName( 
            /* [in] */ BSTR bszName,
            /* [in] */ RtBool bInitializedOnly,
            /* [in] */ IRsLibrary **ppLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryCount( 
            /* [in] */ RtDWORD *pdwLibraryCount,
            /* [in] */ RtBool bInitializedOnly) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibrary( 
            /* [in] */ RtDWORD dwIndex,
            /* [in] */ RtBool bInitializedOnly,
            /* [in] */ IRsLibrary **ppLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Lock( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unlock( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SuppressDataMonitoring( 
            /* [in] */ RtBool bEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataManager( 
            /* [in] */ IRsDataManager **pDataManager) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RootPath( 
            /* [retval][out] */ BSTR *szPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProcessDataChanges( 
            /* [in] */ IRsDataChangeList *pIDataChangeList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rescan( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnLibraryPlaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLibraryPlace * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLibraryPlace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLibraryPlace * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRnLibraryPlace * This,
            /* [in] */ BSTR szRootDirectory);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryPath )( 
            IRnLibraryPlace * This,
            /* [in] */ BSTR bszLibraryName,
            /* [in] */ BSTR *pbszLibraryPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddUnitializedLibrary )( 
            IRnLibraryPlace * This,
            /* [in] */ BSTR bszName,
            /* [in] */ IRsLibrary **ppLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryByName )( 
            IRnLibraryPlace * This,
            /* [in] */ BSTR bszName,
            /* [in] */ RtBool bInitializedOnly,
            /* [in] */ IRsLibrary **ppLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryCount )( 
            IRnLibraryPlace * This,
            /* [in] */ RtDWORD *pdwLibraryCount,
            /* [in] */ RtBool bInitializedOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibrary )( 
            IRnLibraryPlace * This,
            /* [in] */ RtDWORD dwIndex,
            /* [in] */ RtBool bInitializedOnly,
            /* [in] */ IRsLibrary **ppLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Lock )( 
            IRnLibraryPlace * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unlock )( 
            IRnLibraryPlace * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SuppressDataMonitoring )( 
            IRnLibraryPlace * This,
            /* [in] */ RtBool bEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataManager )( 
            IRnLibraryPlace * This,
            /* [in] */ IRsDataManager **pDataManager);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootPath )( 
            IRnLibraryPlace * This,
            /* [retval][out] */ BSTR *szPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProcessDataChanges )( 
            IRnLibraryPlace * This,
            /* [in] */ IRsDataChangeList *pIDataChangeList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rescan )( 
            IRnLibraryPlace * This);
        
        END_INTERFACE
    } IRnLibraryPlaceVtbl;

    interface IRnLibraryPlace
    {
        CONST_VTBL struct IRnLibraryPlaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRnLibraryPlace_Initialize(This,szRootDirectory)	\
    (This)->lpVtbl -> Initialize(This,szRootDirectory)

#define IRnLibraryPlace_GetLibraryPath(This,bszLibraryName,pbszLibraryPath)	\
    (This)->lpVtbl -> GetLibraryPath(This,bszLibraryName,pbszLibraryPath)

#define IRnLibraryPlace_AddUnitializedLibrary(This,bszName,ppLibrary)	\
    (This)->lpVtbl -> AddUnitializedLibrary(This,bszName,ppLibrary)

#define IRnLibraryPlace_GetLibraryByName(This,bszName,bInitializedOnly,ppLibrary)	\
    (This)->lpVtbl -> GetLibraryByName(This,bszName,bInitializedOnly,ppLibrary)

#define IRnLibraryPlace_GetLibraryCount(This,pdwLibraryCount,bInitializedOnly)	\
    (This)->lpVtbl -> GetLibraryCount(This,pdwLibraryCount,bInitializedOnly)

#define IRnLibraryPlace_GetLibrary(This,dwIndex,bInitializedOnly,ppLibrary)	\
    (This)->lpVtbl -> GetLibrary(This,dwIndex,bInitializedOnly,ppLibrary)

#define IRnLibraryPlace_Lock(This)	\
    (This)->lpVtbl -> Lock(This)

#define IRnLibraryPlace_Unlock(This)	\
    (This)->lpVtbl -> Unlock(This)

#define IRnLibraryPlace_SuppressDataMonitoring(This,bEnabled)	\
    (This)->lpVtbl -> SuppressDataMonitoring(This,bEnabled)

#define IRnLibraryPlace_GetDataManager(This,pDataManager)	\
    (This)->lpVtbl -> GetDataManager(This,pDataManager)

#define IRnLibraryPlace_get_RootPath(This,szPath)	\
    (This)->lpVtbl -> get_RootPath(This,szPath)

#define IRnLibraryPlace_ProcessDataChanges(This,pIDataChangeList)	\
    (This)->lpVtbl -> ProcessDataChanges(This,pIDataChangeList)

#define IRnLibraryPlace_Rescan(This)	\
    (This)->lpVtbl -> Rescan(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_Initialize_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ BSTR szRootDirectory);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_GetLibraryPath_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ BSTR bszLibraryName,
    /* [in] */ BSTR *pbszLibraryPath);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_AddUnitializedLibrary_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ BSTR bszName,
    /* [in] */ IRsLibrary **ppLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_GetLibraryByName_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ BSTR bszName,
    /* [in] */ RtBool bInitializedOnly,
    /* [in] */ IRsLibrary **ppLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_GetLibraryCount_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ RtDWORD *pdwLibraryCount,
    /* [in] */ RtBool bInitializedOnly);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_GetLibrary_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ RtDWORD dwIndex,
    /* [in] */ RtBool bInitializedOnly,
    /* [in] */ IRsLibrary **ppLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_Lock_Proxy( 
    IRnLibraryPlace * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_Unlock_Proxy( 
    IRnLibraryPlace * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_SuppressDataMonitoring_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ RtBool bEnabled);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_GetDataManager_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ IRsDataManager **pDataManager);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_get_RootPath_Proxy( 
    IRnLibraryPlace * This,
    /* [retval][out] */ BSTR *szPath);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_ProcessDataChanges_Proxy( 
    IRnLibraryPlace * This,
    /* [in] */ IRsDataChangeList *pIDataChangeList);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnLibraryPlace_Rescan_Proxy( 
    IRnLibraryPlace * This);


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



#endif 	/* __IRnLibraryPlace_INTERFACE_DEFINED__ */


#ifndef __IRiLibrary2_INTERFACE_DEFINED__
#define __IRiLibrary2_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRiLibrary2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9524A96C-1DE7-4b83-8F3E-F6305B373141")
    IRiLibrary2 : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenLibraryPlace( 
            /* [in] */ BSTR szContainerNodePath,
            /* [in] */ BSTR szLibraryPlacePath,
            /* [in] */ BSTR szNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowStandardLibraryWindow( 
            /* [in] */ BSTR szLibraryPlaceNodePath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowLibraryBrowserWindow( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateMainLibrary( 
            /* [in] */ BSTR bszMainLibraryPath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddLibraryWindowIntoTools( 
            /* [in] */ BSTR szLibraryPlaceNodePath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddComponentsToLibPlace( 
            /* [in] */ BSTR szLibraryPlacePath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DlgGenericLoad( 
            /* [in] */ VARIANT szFileName,
            /* [in] */ VARIANT szTargetName,
            /* [in] */ VARIANT dwFlags,
            /* [retval][out] */ VARIANT *pvObject) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DlgGenericSave( 
            /* [in] */ VARIANT szFileName,
            /* [in] */ VARIANT szTargetName,
            /* [in] */ VARIANT dwFlags) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DlgSaveScene( 
            /* [in] */ BSTR bszFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Generate3DThumbnail( 
            /* [in] */ BSTR bszObject,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [retval][out] */ VARIANT *pvRdBitmap) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GenerateSceneThumbnail( 
            /* [in] */ RtBOOL bWholeScrn,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [retval][out] */ VARIANT *pvRdBitmap) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetObjThumbnail( 
            /* [in] */ BSTR bszObject,
            /* [retval][out] */ VARIANT *pvRdBitmap) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiLibrary2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiLibrary2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiLibrary2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiLibrary2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiLibrary2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiLibrary2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiLibrary2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiLibrary2 * 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 *OpenLibraryPlace )( 
            IRiLibrary2 * This,
            /* [in] */ BSTR szContainerNodePath,
            /* [in] */ BSTR szLibraryPlacePath,
            /* [in] */ BSTR szNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowStandardLibraryWindow )( 
            IRiLibrary2 * This,
            /* [in] */ BSTR szLibraryPlaceNodePath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowLibraryBrowserWindow )( 
            IRiLibrary2 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateMainLibrary )( 
            IRiLibrary2 * This,
            /* [in] */ BSTR bszMainLibraryPath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddLibraryWindowIntoTools )( 
            IRiLibrary2 * This,
            /* [in] */ BSTR szLibraryPlaceNodePath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddComponentsToLibPlace )( 
            IRiLibrary2 * This,
            /* [in] */ BSTR szLibraryPlacePath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DlgGenericLoad )( 
            IRiLibrary2 * This,
            /* [in] */ VARIANT szFileName,
            /* [in] */ VARIANT szTargetName,
            /* [in] */ VARIANT dwFlags,
            /* [retval][out] */ VARIANT *pvObject);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DlgGenericSave )( 
            IRiLibrary2 * This,
            /* [in] */ VARIANT szFileName,
            /* [in] */ VARIANT szTargetName,
            /* [in] */ VARIANT dwFlags);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DlgSaveScene )( 
            IRiLibrary2 * This,
            /* [in] */ BSTR bszFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Generate3DThumbnail )( 
            IRiLibrary2 * This,
            /* [in] */ BSTR bszObject,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [retval][out] */ VARIANT *pvRdBitmap);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GenerateSceneThumbnail )( 
            IRiLibrary2 * This,
            /* [in] */ RtBOOL bWholeScrn,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [retval][out] */ VARIANT *pvRdBitmap);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetObjThumbnail )( 
            IRiLibrary2 * This,
            /* [in] */ BSTR bszObject,
            /* [retval][out] */ VARIANT *pvRdBitmap);
        
        END_INTERFACE
    } IRiLibrary2Vtbl;

    interface IRiLibrary2
    {
        CONST_VTBL struct IRiLibrary2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiLibrary2_OpenLibraryPlace(This,szContainerNodePath,szLibraryPlacePath,szNodeName)	\
    (This)->lpVtbl -> OpenLibraryPlace(This,szContainerNodePath,szLibraryPlacePath,szNodeName)

#define IRiLibrary2_ShowStandardLibraryWindow(This,szLibraryPlaceNodePath)	\
    (This)->lpVtbl -> ShowStandardLibraryWindow(This,szLibraryPlaceNodePath)

#define IRiLibrary2_ShowLibraryBrowserWindow(This)	\
    (This)->lpVtbl -> ShowLibraryBrowserWindow(This)

#define IRiLibrary2_CreateMainLibrary(This,bszMainLibraryPath)	\
    (This)->lpVtbl -> CreateMainLibrary(This,bszMainLibraryPath)

#define IRiLibrary2_AddLibraryWindowIntoTools(This,szLibraryPlaceNodePath)	\
    (This)->lpVtbl -> AddLibraryWindowIntoTools(This,szLibraryPlaceNodePath)

#define IRiLibrary2_AddComponentsToLibPlace(This,szLibraryPlacePath)	\
    (This)->lpVtbl -> AddComponentsToLibPlace(This,szLibraryPlacePath)

#define IRiLibrary2_DlgGenericLoad(This,szFileName,szTargetName,dwFlags,pvObject)	\
    (This)->lpVtbl -> DlgGenericLoad(This,szFileName,szTargetName,dwFlags,pvObject)

#define IRiLibrary2_DlgGenericSave(This,szFileName,szTargetName,dwFlags)	\
    (This)->lpVtbl -> DlgGenericSave(This,szFileName,szTargetName,dwFlags)

#define IRiLibrary2_DlgSaveScene(This,bszFileName)	\
    (This)->lpVtbl -> DlgSaveScene(This,bszFileName)

#define IRiLibrary2_Generate3DThumbnail(This,bszObject,dwWidth,dwHeight,pvRdBitmap)	\
    (This)->lpVtbl -> Generate3DThumbnail(This,bszObject,dwWidth,dwHeight,pvRdBitmap)

#define IRiLibrary2_GenerateSceneThumbnail(This,bWholeScrn,dwWidth,dwHeight,pvRdBitmap)	\
    (This)->lpVtbl -> GenerateSceneThumbnail(This,bWholeScrn,dwWidth,dwHeight,pvRdBitmap)

#define IRiLibrary2_GetObjThumbnail(This,bszObject,pvRdBitmap)	\
    (This)->lpVtbl -> GetObjThumbnail(This,bszObject,pvRdBitmap)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_OpenLibraryPlace_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ BSTR szContainerNodePath,
    /* [in] */ BSTR szLibraryPlacePath,
    /* [in] */ BSTR szNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_ShowStandardLibraryWindow_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ BSTR szLibraryPlaceNodePath);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_ShowLibraryBrowserWindow_Proxy( 
    IRiLibrary2 * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_CreateMainLibrary_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ BSTR bszMainLibraryPath);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_AddLibraryWindowIntoTools_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ BSTR szLibraryPlaceNodePath);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_AddComponentsToLibPlace_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ BSTR szLibraryPlacePath);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_DlgGenericLoad_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ VARIANT szFileName,
    /* [in] */ VARIANT szTargetName,
    /* [in] */ VARIANT dwFlags,
    /* [retval][out] */ VARIANT *pvObject);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_DlgGenericSave_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ VARIANT szFileName,
    /* [in] */ VARIANT szTargetName,
    /* [in] */ VARIANT dwFlags);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_DlgSaveScene_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ BSTR bszFileName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_Generate3DThumbnail_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ BSTR bszObject,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [retval][out] */ VARIANT *pvRdBitmap);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_GenerateSceneThumbnail_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ RtBOOL bWholeScrn,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [retval][out] */ VARIANT *pvRdBitmap);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiLibrary2_GetObjThumbnail_Proxy( 
    IRiLibrary2 * This,
    /* [in] */ BSTR bszObject,
    /* [retval][out] */ VARIANT *pvRdBitmap);


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



#endif 	/* __IRiLibrary2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Library2_2329 */
/* [local] */ 


enum LibraryChangeType
    {	LCHT_LIBRARY_PLACE_CHANGED	= 0,
	LCHT_LIBRARY_ADDED	= 1,
	LCHT_LIBRARY_REMOVED	= 2,
	LCHT_LIBRARY_CHANGED	= 3,
	LCHT_LIBRARY_RENAMED	= 4,
	LCHT_LIBRARY_ITEM_CHANGED	= 5,
	LCHT_LIBRARY_ITEM_SELECTED	= 6
    } ;


extern RPC_IF_HANDLE __MIDL_itf__Library2_2329_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Library2_2329_v0_0_s_ifspec;

#ifndef __IRsLibraryChangeList_INTERFACE_DEFINED__
#define __IRsLibraryChangeList_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibraryChangeList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("69430EF7-F334-41c8-A7AB-9D38DAC05E91")
    IRsLibraryChangeList : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddChange( 
            /* [in] */ IRsObject *pObject,
            /* [in] */ enum LibraryChangeType nChangeType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [out] */ DWORD *nSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ DWORD nIndex,
            /* [out] */ IRsObject **ppObject,
            /* [out] */ enum LibraryChangeType *pnChangeType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Lock( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unlock( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLibraryChangeListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLibraryChangeList * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLibraryChangeList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLibraryChangeList * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsLibraryChangeList * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsLibraryChangeList * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddChange )( 
            IRsLibraryChangeList * This,
            /* [in] */ IRsObject *pObject,
            /* [in] */ enum LibraryChangeType nChangeType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRsLibraryChangeList * This,
            /* [out] */ DWORD *nSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRsLibraryChangeList * This,
            /* [in] */ DWORD nIndex,
            /* [out] */ IRsObject **ppObject,
            /* [out] */ enum LibraryChangeType *pnChangeType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsLibraryChangeList * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Lock )( 
            IRsLibraryChangeList * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unlock )( 
            IRsLibraryChangeList * This);
        
        END_INTERFACE
    } IRsLibraryChangeListVtbl;

    interface IRsLibraryChangeList
    {
        CONST_VTBL struct IRsLibraryChangeListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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


#define IRsLibraryChangeList_AddChange(This,pObject,nChangeType)	\
    (This)->lpVtbl -> AddChange(This,pObject,nChangeType)

#define IRsLibraryChangeList_GetCount(This,nSize)	\
    (This)->lpVtbl -> GetCount(This,nSize)

#define IRsLibraryChangeList_GetAt(This,nIndex,ppObject,pnChangeType)	\
    (This)->lpVtbl -> GetAt(This,nIndex,ppObject,pnChangeType)

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

#define IRsLibraryChangeList_Lock(This)	\
    (This)->lpVtbl -> Lock(This)

#define IRsLibraryChangeList_Unlock(This)	\
    (This)->lpVtbl -> Unlock(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryChangeList_AddChange_Proxy( 
    IRsLibraryChangeList * This,
    /* [in] */ IRsObject *pObject,
    /* [in] */ enum LibraryChangeType nChangeType);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryChangeList_GetCount_Proxy( 
    IRsLibraryChangeList * This,
    /* [out] */ DWORD *nSize);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryChangeList_GetAt_Proxy( 
    IRsLibraryChangeList * This,
    /* [in] */ DWORD nIndex,
    /* [out] */ IRsObject **ppObject,
    /* [out] */ enum LibraryChangeType *pnChangeType);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryChangeList_Clear_Proxy( 
    IRsLibraryChangeList * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryChangeList_Lock_Proxy( 
    IRsLibraryChangeList * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryChangeList_Unlock_Proxy( 
    IRsLibraryChangeList * This);


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



#endif 	/* __IRsLibraryChangeList_INTERFACE_DEFINED__ */


#ifndef __IRfFrontendLibraryActions_INTERFACE_DEFINED__
#define __IRfFrontendLibraryActions_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRfFrontendLibraryActions;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6598C2EC-8207-46ea-8E00-9D5A7701B4C4")
    IRfFrontendLibraryActions : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PopupMenu( 
            /* [in] */ HWND hWnd,
            /* [in] */ POINT pt,
            /* [in] */ UINT nMenu,
            /* [in] */ int nMenuType,
            /* [in] */ IRsNode *pOutlookNode,
            /* [in] */ IRsLibraryItem *pMenuItem,
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CallAction( 
            /* [in] */ int nAction,
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ IRsLibraryItem *pLibraryItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLibrary( 
            /* [in] */ IRnLibraryPlace *pLibraryPlace,
            /* [in] */ POINT *ptDialog) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ImportLibrary( 
            /* [in] */ IRnLibraryPlace *pLibraryPlace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ImportIntoLibrary( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExportFromLibrary( 
            /* [in] */ IRsLibraryItem *pLibItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenLibraryWindow( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EditLibraryDescription( 
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ POINT *ptDialog) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeLibraryIcon( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EditLibraryItemDescription( 
            /* [in] */ IRsLibraryItem *pLibraryItem,
            /* [in] */ POINT *ptDialog) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenameLibrary( 
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ POINT *ptDialog) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeThumbnail( 
            /* [in] */ BSTR bstrFilePath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteLibrary( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLibraryPlace( 
            /* [in] */ POINT *ptDialog) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseLibraryPlace( 
            /* [in] */ IRnLibraryPlace *pLibraryPlace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowProperties( 
            /* [in] */ IRsLibraryItem *pLibraryItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenameItem( 
            /* [in] */ IRsLibraryItem *pLibraryItem,
            /* [in] */ POINT *ptDialog) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
            /* [in] */ IRsLibraryItem *pLibraryItem) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CustomSelection( 
            /* [in] */ IRsObject *pObj) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CustomSelection( 
            /* [retval][out] */ IRsObject **ppObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfFrontendLibraryActionsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfFrontendLibraryActions * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfFrontendLibraryActions * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PopupMenu )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ HWND hWnd,
            /* [in] */ POINT pt,
            /* [in] */ UINT nMenu,
            /* [in] */ int nMenuType,
            /* [in] */ IRsNode *pOutlookNode,
            /* [in] */ IRsLibraryItem *pMenuItem,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CallAction )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ int nAction,
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ IRsLibraryItem *pLibraryItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLibrary )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRnLibraryPlace *pLibraryPlace,
            /* [in] */ POINT *ptDialog);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ImportLibrary )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRnLibraryPlace *pLibraryPlace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ImportIntoLibrary )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExportFromLibrary )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibraryItem *pLibItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenLibraryWindow )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EditLibraryDescription )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ POINT *ptDialog);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeLibraryIcon )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EditLibraryItemDescription )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibraryItem *pLibraryItem,
            /* [in] */ POINT *ptDialog);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenameLibrary )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ POINT *ptDialog);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeThumbnail )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ BSTR bstrFilePath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteLibrary )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLibraryPlace )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ POINT *ptDialog);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloseLibraryPlace )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRnLibraryPlace *pLibraryPlace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowProperties )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibraryItem *pLibraryItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenameItem )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibraryItem *pLibraryItem,
            /* [in] */ POINT *ptDialog);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteItem )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsLibraryItem *pLibraryItem);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CustomSelection )( 
            IRfFrontendLibraryActions * This,
            /* [in] */ IRsObject *pObj);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CustomSelection )( 
            IRfFrontendLibraryActions * This,
            /* [retval][out] */ IRsObject **ppObj);
        
        END_INTERFACE
    } IRfFrontendLibraryActionsVtbl;

    interface IRfFrontendLibraryActions
    {
        CONST_VTBL struct IRfFrontendLibraryActionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfFrontendLibraryActions_PopupMenu(This,hWnd,pt,nMenu,nMenuType,pOutlookNode,pMenuItem,pLibrary)	\
    (This)->lpVtbl -> PopupMenu(This,hWnd,pt,nMenu,nMenuType,pOutlookNode,pMenuItem,pLibrary)

#define IRfFrontendLibraryActions_CallAction(This,nAction,pLibrary,pLibraryItem)	\
    (This)->lpVtbl -> CallAction(This,nAction,pLibrary,pLibraryItem)

#define IRfFrontendLibraryActions_CreateLibrary(This,pLibraryPlace,ptDialog)	\
    (This)->lpVtbl -> CreateLibrary(This,pLibraryPlace,ptDialog)

#define IRfFrontendLibraryActions_ImportLibrary(This,pLibraryPlace)	\
    (This)->lpVtbl -> ImportLibrary(This,pLibraryPlace)

#define IRfFrontendLibraryActions_ImportIntoLibrary(This,pLibrary)	\
    (This)->lpVtbl -> ImportIntoLibrary(This,pLibrary)

#define IRfFrontendLibraryActions_ExportFromLibrary(This,pLibItem)	\
    (This)->lpVtbl -> ExportFromLibrary(This,pLibItem)

#define IRfFrontendLibraryActions_OpenLibraryWindow(This,pLibrary)	\
    (This)->lpVtbl -> OpenLibraryWindow(This,pLibrary)

#define IRfFrontendLibraryActions_EditLibraryDescription(This,pLibrary,ptDialog)	\
    (This)->lpVtbl -> EditLibraryDescription(This,pLibrary,ptDialog)

#define IRfFrontendLibraryActions_ChangeLibraryIcon(This,pLibrary)	\
    (This)->lpVtbl -> ChangeLibraryIcon(This,pLibrary)

#define IRfFrontendLibraryActions_EditLibraryItemDescription(This,pLibraryItem,ptDialog)	\
    (This)->lpVtbl -> EditLibraryItemDescription(This,pLibraryItem,ptDialog)

#define IRfFrontendLibraryActions_RenameLibrary(This,pLibrary,ptDialog)	\
    (This)->lpVtbl -> RenameLibrary(This,pLibrary,ptDialog)

#define IRfFrontendLibraryActions_ChangeThumbnail(This,bstrFilePath)	\
    (This)->lpVtbl -> ChangeThumbnail(This,bstrFilePath)

#define IRfFrontendLibraryActions_DeleteLibrary(This,pLibrary)	\
    (This)->lpVtbl -> DeleteLibrary(This,pLibrary)

#define IRfFrontendLibraryActions_CreateLibraryPlace(This,ptDialog)	\
    (This)->lpVtbl -> CreateLibraryPlace(This,ptDialog)

#define IRfFrontendLibraryActions_CloseLibraryPlace(This,pLibraryPlace)	\
    (This)->lpVtbl -> CloseLibraryPlace(This,pLibraryPlace)

#define IRfFrontendLibraryActions_ShowProperties(This,pLibraryItem)	\
    (This)->lpVtbl -> ShowProperties(This,pLibraryItem)

#define IRfFrontendLibraryActions_RenameItem(This,pLibraryItem,ptDialog)	\
    (This)->lpVtbl -> RenameItem(This,pLibraryItem,ptDialog)

#define IRfFrontendLibraryActions_DeleteItem(This,pLibraryItem)	\
    (This)->lpVtbl -> DeleteItem(This,pLibraryItem)

#define IRfFrontendLibraryActions_put_CustomSelection(This,pObj)	\
    (This)->lpVtbl -> put_CustomSelection(This,pObj)

#define IRfFrontendLibraryActions_get_CustomSelection(This,ppObj)	\
    (This)->lpVtbl -> get_CustomSelection(This,ppObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_PopupMenu_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ HWND hWnd,
    /* [in] */ POINT pt,
    /* [in] */ UINT nMenu,
    /* [in] */ int nMenuType,
    /* [in] */ IRsNode *pOutlookNode,
    /* [in] */ IRsLibraryItem *pMenuItem,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_CallAction_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ int nAction,
    /* [in] */ IRsLibrary *pLibrary,
    /* [in] */ IRsLibraryItem *pLibraryItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_CreateLibrary_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRnLibraryPlace *pLibraryPlace,
    /* [in] */ POINT *ptDialog);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_ImportLibrary_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRnLibraryPlace *pLibraryPlace);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_ImportIntoLibrary_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_ExportFromLibrary_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibraryItem *pLibItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_OpenLibraryWindow_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_EditLibraryDescription_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary,
    /* [in] */ POINT *ptDialog);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_ChangeLibraryIcon_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_EditLibraryItemDescription_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibraryItem *pLibraryItem,
    /* [in] */ POINT *ptDialog);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_RenameLibrary_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary,
    /* [in] */ POINT *ptDialog);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_ChangeThumbnail_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ BSTR bstrFilePath);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_DeleteLibrary_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_CreateLibraryPlace_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ POINT *ptDialog);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_CloseLibraryPlace_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRnLibraryPlace *pLibraryPlace);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_ShowProperties_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibraryItem *pLibraryItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_RenameItem_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibraryItem *pLibraryItem,
    /* [in] */ POINT *ptDialog);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_DeleteItem_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsLibraryItem *pLibraryItem);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_put_CustomSelection_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [in] */ IRsObject *pObj);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRfFrontendLibraryActions_get_CustomSelection_Proxy( 
    IRfFrontendLibraryActions * This,
    /* [retval][out] */ IRsObject **ppObj);


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



#endif 	/* __IRfFrontendLibraryActions_INTERFACE_DEFINED__ */


#ifndef __IRfLibraryPlaceActions_INTERFACE_DEFINED__
#define __IRfLibraryPlaceActions_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRfLibraryPlaceActions;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8E3B9E47-1A92-4dd6-8869-A650430407C6")
    IRfLibraryPlaceActions : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ IRnLibraryPlace *pPlace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLibrary( 
            /* [in] */ IRnLibraryPlace *pPlace,
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszTypeIID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfLibraryPlaceActionsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfLibraryPlaceActions * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfLibraryPlaceActions * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfLibraryPlaceActions * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IRfLibraryPlaceActions * This,
            /* [in] */ IRnLibraryPlace *pPlace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLibrary )( 
            IRfLibraryPlaceActions * This,
            /* [in] */ IRnLibraryPlace *pPlace,
            /* [in] */ BSTR bszName,
            /* [in] */ BSTR bszTypeIID);
        
        END_INTERFACE
    } IRfLibraryPlaceActionsVtbl;

    interface IRfLibraryPlaceActions
    {
        CONST_VTBL struct IRfLibraryPlaceActionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfLibraryPlaceActions_Delete(This,pPlace)	\
    (This)->lpVtbl -> Delete(This,pPlace)

#define IRfLibraryPlaceActions_CreateLibrary(This,pPlace,bszName,bszTypeIID)	\
    (This)->lpVtbl -> CreateLibrary(This,pPlace,bszName,bszTypeIID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryPlaceActions_Delete_Proxy( 
    IRfLibraryPlaceActions * This,
    /* [in] */ IRnLibraryPlace *pPlace);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryPlaceActions_CreateLibrary_Proxy( 
    IRfLibraryPlaceActions * This,
    /* [in] */ IRnLibraryPlace *pPlace,
    /* [in] */ BSTR bszName,
    /* [in] */ BSTR bszTypeIID);


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



#endif 	/* __IRfLibraryPlaceActions_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Library2_2332 */
/* [local] */ 

typedef 
enum tagLib2ThumbnailGnrStyle
    {	LIB2THMBGNRST_WHOLE_SCREEN	= 0,
	LIB2THMBGNRST_3D_WINDOW	= 1,
	LIB2THMBGNRST_ACT_WINDOW	= 2,
	LIB2THMBGNRST_PREF_3D_WINDOW	= 3
    } 	eLib2ThumbnailGnrStyle;

typedef 
enum tagLib2AutoThumbnailType
    {	LIB2THMBGNRTYPE_AUTO	= 0,
	LIB2THMBGNRTYPE_3D_OBJECT	= 1,
	LIB2THMBGNRTYPE_ACT_WINDOW	= 2,
	LIB2THMBGNRTYPE_SCREEN	= 3,
	LIB2THMBGNRTYPE_ICON	= 4,
	LIB2THMBGNRTYPE_LIB_ICON	= 5
    } 	eLib2AutoThumbnailType;



extern RPC_IF_HANDLE __MIDL_itf__Library2_2332_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Library2_2332_v0_0_s_ifspec;

#ifndef __IRfLibraryActions_INTERFACE_DEFINED__
#define __IRfLibraryActions_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRfLibraryActions;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2851CE0C-342B-4095-B1D3-A49BD66BA246")
    IRfLibraryActions : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rename( 
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ BSTR bszNewName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertItem( 
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ BSTR bszItemName,
            /* [in] */ BSTR bszDescription,
            /* [in] */ IRsObject *pRsObject,
            /* [in] */ IRsFileIOType *pSaveType,
            /* [in] */ IRdBitmap *pThumbnail,
            /* [in] */ SIZE *pSuggThumbnailSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadTags( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveTags( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadIconA( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveIcon( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadAndApplyIndexer( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveIndexer( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Generate3DThumbnail( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ COLORREF clrBckg,
            /* [retval][out] */ IRdBitmap **ppBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GenerateSceneThumbnail( 
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ eLib2ThumbnailGnrStyle style,
            /* [retval][out] */ IRdBitmap **ppBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNodeThumbnail( 
            /* [in] */ IRsNode *pNode,
            /* [retval][out] */ IRdBitmap **ppBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GenerateThumbnail( 
            /* [in] */ IRsFileIOType *pSaveType,
            /* [in] */ IRsObject *pRsObject,
            /* [in] */ eLib2AutoThumbnailType aType,
            /* [in] */ IRdBitmap *pSuppliedThumbnail,
            /* [in] */ SIZE *pSuggThumbnailSize,
            /* [retval][out] */ IRdBitmap **ppThumbnail) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddThumbnailChunk( 
            /* [in] */ IRsFileHandle *pFileHandle,
            /* [in] */ IRsFileIOType *pSaveType,
            /* [in] */ IRsObject *pRsObject,
            /* [in] */ eLib2AutoThumbnailType aType,
            /* [in] */ IRdBitmap *pSuppliedThumbnail,
            /* [in] */ SIZE *pSuggThumbnailSize) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfLibraryActionsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfLibraryActions * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfLibraryActions * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfLibraryActions * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRfLibraryActions * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRfLibraryActions * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rename )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ BSTR bszNewName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InsertItem )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary,
            /* [in] */ BSTR bszItemName,
            /* [in] */ BSTR bszDescription,
            /* [in] */ IRsObject *pRsObject,
            /* [in] */ IRsFileIOType *pSaveType,
            /* [in] */ IRdBitmap *pThumbnail,
            /* [in] */ SIZE *pSuggThumbnailSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadTags )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveTags )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadIconA )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveIcon )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadAndApplyIndexer )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveIndexer )( 
            IRfLibraryActions * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Generate3DThumbnail )( 
            IRfLibraryActions * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ COLORREF clrBckg,
            /* [retval][out] */ IRdBitmap **ppBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GenerateSceneThumbnail )( 
            IRfLibraryActions * This,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ eLib2ThumbnailGnrStyle style,
            /* [retval][out] */ IRdBitmap **ppBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNodeThumbnail )( 
            IRfLibraryActions * This,
            /* [in] */ IRsNode *pNode,
            /* [retval][out] */ IRdBitmap **ppBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GenerateThumbnail )( 
            IRfLibraryActions * This,
            /* [in] */ IRsFileIOType *pSaveType,
            /* [in] */ IRsObject *pRsObject,
            /* [in] */ eLib2AutoThumbnailType aType,
            /* [in] */ IRdBitmap *pSuppliedThumbnail,
            /* [in] */ SIZE *pSuggThumbnailSize,
            /* [retval][out] */ IRdBitmap **ppThumbnail);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddThumbnailChunk )( 
            IRfLibraryActions * This,
            /* [in] */ IRsFileHandle *pFileHandle,
            /* [in] */ IRsFileIOType *pSaveType,
            /* [in] */ IRsObject *pRsObject,
            /* [in] */ eLib2AutoThumbnailType aType,
            /* [in] */ IRdBitmap *pSuppliedThumbnail,
            /* [in] */ SIZE *pSuggThumbnailSize);
        
        END_INTERFACE
    } IRfLibraryActionsVtbl;

    interface IRfLibraryActions
    {
        CONST_VTBL struct IRfLibraryActionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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


#define IRfLibraryActions_Delete(This,pLibrary)	\
    (This)->lpVtbl -> Delete(This,pLibrary)

#define IRfLibraryActions_Rename(This,pLibrary,bszNewName)	\
    (This)->lpVtbl -> Rename(This,pLibrary,bszNewName)

#define IRfLibraryActions_InsertItem(This,pLibrary,bszItemName,bszDescription,pRsObject,pSaveType,pThumbnail,pSuggThumbnailSize)	\
    (This)->lpVtbl -> InsertItem(This,pLibrary,bszItemName,bszDescription,pRsObject,pSaveType,pThumbnail,pSuggThumbnailSize)

#define IRfLibraryActions_LoadTags(This,pLibrary)	\
    (This)->lpVtbl -> LoadTags(This,pLibrary)

#define IRfLibraryActions_SaveTags(This,pLibrary)	\
    (This)->lpVtbl -> SaveTags(This,pLibrary)

#define IRfLibraryActions_LoadIconA(This,pLibrary)	\
    (This)->lpVtbl -> LoadIconA(This,pLibrary)

#define IRfLibraryActions_SaveIcon(This,pLibrary)	\
    (This)->lpVtbl -> SaveIcon(This,pLibrary)

#define IRfLibraryActions_LoadAndApplyIndexer(This,pLibrary)	\
    (This)->lpVtbl -> LoadAndApplyIndexer(This,pLibrary)

#define IRfLibraryActions_SaveIndexer(This,pLibrary)	\
    (This)->lpVtbl -> SaveIndexer(This,pLibrary)

#define IRfLibraryActions_Generate3DThumbnail(This,pNode,dwWidth,dwHeight,clrBckg,ppBitmap)	\
    (This)->lpVtbl -> Generate3DThumbnail(This,pNode,dwWidth,dwHeight,clrBckg,ppBitmap)

#define IRfLibraryActions_GenerateSceneThumbnail(This,dwWidth,dwHeight,style,ppBitmap)	\
    (This)->lpVtbl -> GenerateSceneThumbnail(This,dwWidth,dwHeight,style,ppBitmap)

#define IRfLibraryActions_GetNodeThumbnail(This,pNode,ppBitmap)	\
    (This)->lpVtbl -> GetNodeThumbnail(This,pNode,ppBitmap)

#define IRfLibraryActions_GenerateThumbnail(This,pSaveType,pRsObject,aType,pSuppliedThumbnail,pSuggThumbnailSize,ppThumbnail)	\
    (This)->lpVtbl -> GenerateThumbnail(This,pSaveType,pRsObject,aType,pSuppliedThumbnail,pSuggThumbnailSize,ppThumbnail)

#define IRfLibraryActions_AddThumbnailChunk(This,pFileHandle,pSaveType,pRsObject,aType,pSuppliedThumbnail,pSuggThumbnailSize)	\
    (This)->lpVtbl -> AddThumbnailChunk(This,pFileHandle,pSaveType,pRsObject,aType,pSuppliedThumbnail,pSuggThumbnailSize)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_Delete_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_Rename_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary,
    /* [in] */ BSTR bszNewName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_InsertItem_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary,
    /* [in] */ BSTR bszItemName,
    /* [in] */ BSTR bszDescription,
    /* [in] */ IRsObject *pRsObject,
    /* [in] */ IRsFileIOType *pSaveType,
    /* [in] */ IRdBitmap *pThumbnail,
    /* [in] */ SIZE *pSuggThumbnailSize);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_LoadTags_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_SaveTags_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_LoadIconA_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_SaveIcon_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_LoadAndApplyIndexer_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_SaveIndexer_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsLibrary *pLibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_Generate3DThumbnail_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [in] */ COLORREF clrBckg,
    /* [retval][out] */ IRdBitmap **ppBitmap);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_GenerateSceneThumbnail_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [in] */ eLib2ThumbnailGnrStyle style,
    /* [retval][out] */ IRdBitmap **ppBitmap);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_GetNodeThumbnail_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsNode *pNode,
    /* [retval][out] */ IRdBitmap **ppBitmap);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_GenerateThumbnail_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsFileIOType *pSaveType,
    /* [in] */ IRsObject *pRsObject,
    /* [in] */ eLib2AutoThumbnailType aType,
    /* [in] */ IRdBitmap *pSuppliedThumbnail,
    /* [in] */ SIZE *pSuggThumbnailSize,
    /* [retval][out] */ IRdBitmap **ppThumbnail);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryActions_AddThumbnailChunk_Proxy( 
    IRfLibraryActions * This,
    /* [in] */ IRsFileHandle *pFileHandle,
    /* [in] */ IRsFileIOType *pSaveType,
    /* [in] */ IRsObject *pRsObject,
    /* [in] */ eLib2AutoThumbnailType aType,
    /* [in] */ IRdBitmap *pSuppliedThumbnail,
    /* [in] */ SIZE *pSuggThumbnailSize);


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



#endif 	/* __IRfLibraryActions_INTERFACE_DEFINED__ */


#ifndef __IRfLibraryItemActions_INTERFACE_DEFINED__
#define __IRfLibraryItemActions_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRfLibraryItemActions;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C8DFCC5E-6354-48b1-A8F3-F229104140C6")
    IRfLibraryItemActions : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rename( 
            /* [in] */ IRsLibraryItem *pItem,
            /* [in] */ BSTR szNewName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ IRsLibraryItem *pItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddToOtherLibrary( 
            /* [in] */ IRsLibraryItem *pItem,
            /* [in] */ IRsLibrary *pDestinationLibrary,
            /* [in] */ RtDWORD dwNewIndex,
            /* [in] */ RtBOOL bMoveFile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyFileToLibrary( 
            /* [in] */ BSTR bstrSourceItemFilePath,
            /* [in] */ IRsLibrary *pDestinationLibrary,
            /* [in] */ RtDWORD dwNewIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadHeader( 
            /* [in] */ IRsLibraryItem *pItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveHeader( 
            /* [in] */ IRsLibraryItem *pItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadThumbnails( 
            /* [in] */ IRsLibraryItem *pItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveThumbnails( 
            /* [in] */ IRsLibraryItem *pItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadTags( 
            /* [in] */ IRsLibraryItem *pItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveTags( 
            /* [in] */ IRsLibraryItem *pItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ IRsLibraryItem *pItem,
            /* [retval][out] */ IRsObject **ppRetObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Apply( 
            /* [in] */ IRsLibraryItem *pItem,
            /* [in] */ enum RtDadApplyMode dwApplyEvent,
            /* [retval][out] */ IRsObject **ppRetObject) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfLibraryItemActionsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfLibraryItemActions * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfLibraryItemActions * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfLibraryItemActions * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rename )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem,
            /* [in] */ BSTR szNewName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddToOtherLibrary )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem,
            /* [in] */ IRsLibrary *pDestinationLibrary,
            /* [in] */ RtDWORD dwNewIndex,
            /* [in] */ RtBOOL bMoveFile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyFileToLibrary )( 
            IRfLibraryItemActions * This,
            /* [in] */ BSTR bstrSourceItemFilePath,
            /* [in] */ IRsLibrary *pDestinationLibrary,
            /* [in] */ RtDWORD dwNewIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadHeader )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveHeader )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadThumbnails )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveThumbnails )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadTags )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveTags )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem,
            /* [retval][out] */ IRsObject **ppRetObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
            IRfLibraryItemActions * This,
            /* [in] */ IRsLibraryItem *pItem,
            /* [in] */ enum RtDadApplyMode dwApplyEvent,
            /* [retval][out] */ IRsObject **ppRetObject);
        
        END_INTERFACE
    } IRfLibraryItemActionsVtbl;

    interface IRfLibraryItemActions
    {
        CONST_VTBL struct IRfLibraryItemActionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfLibraryItemActions_Rename(This,pItem,szNewName)	\
    (This)->lpVtbl -> Rename(This,pItem,szNewName)

#define IRfLibraryItemActions_Delete(This,pItem)	\
    (This)->lpVtbl -> Delete(This,pItem)

#define IRfLibraryItemActions_AddToOtherLibrary(This,pItem,pDestinationLibrary,dwNewIndex,bMoveFile)	\
    (This)->lpVtbl -> AddToOtherLibrary(This,pItem,pDestinationLibrary,dwNewIndex,bMoveFile)

#define IRfLibraryItemActions_CopyFileToLibrary(This,bstrSourceItemFilePath,pDestinationLibrary,dwNewIndex)	\
    (This)->lpVtbl -> CopyFileToLibrary(This,bstrSourceItemFilePath,pDestinationLibrary,dwNewIndex)

#define IRfLibraryItemActions_LoadHeader(This,pItem)	\
    (This)->lpVtbl -> LoadHeader(This,pItem)

#define IRfLibraryItemActions_SaveHeader(This,pItem)	\
    (This)->lpVtbl -> SaveHeader(This,pItem)

#define IRfLibraryItemActions_LoadThumbnails(This,pItem)	\
    (This)->lpVtbl -> LoadThumbnails(This,pItem)

#define IRfLibraryItemActions_SaveThumbnails(This,pItem)	\
    (This)->lpVtbl -> SaveThumbnails(This,pItem)

#define IRfLibraryItemActions_LoadTags(This,pItem)	\
    (This)->lpVtbl -> LoadTags(This,pItem)

#define IRfLibraryItemActions_SaveTags(This,pItem)	\
    (This)->lpVtbl -> SaveTags(This,pItem)

#define IRfLibraryItemActions_Load(This,pItem,ppRetObject)	\
    (This)->lpVtbl -> Load(This,pItem,ppRetObject)

#define IRfLibraryItemActions_Apply(This,pItem,dwApplyEvent,ppRetObject)	\
    (This)->lpVtbl -> Apply(This,pItem,dwApplyEvent,ppRetObject)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_Rename_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem,
    /* [in] */ BSTR szNewName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_Delete_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_AddToOtherLibrary_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem,
    /* [in] */ IRsLibrary *pDestinationLibrary,
    /* [in] */ RtDWORD dwNewIndex,
    /* [in] */ RtBOOL bMoveFile);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_CopyFileToLibrary_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ BSTR bstrSourceItemFilePath,
    /* [in] */ IRsLibrary *pDestinationLibrary,
    /* [in] */ RtDWORD dwNewIndex);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_LoadHeader_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_SaveHeader_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_LoadThumbnails_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_SaveThumbnails_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_LoadTags_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_SaveTags_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_Load_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem,
    /* [retval][out] */ IRsObject **ppRetObject);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryItemActions_Apply_Proxy( 
    IRfLibraryItemActions * This,
    /* [in] */ IRsLibraryItem *pItem,
    /* [in] */ enum RtDadApplyMode dwApplyEvent,
    /* [retval][out] */ IRsObject **ppRetObject);


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



#endif 	/* __IRfLibraryItemActions_INTERFACE_DEFINED__ */


#ifndef __IRsOutlookControl_INTERFACE_DEFINED__
#define __IRsOutlookControl_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsOutlookControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B90058E4-043B-4049-9A0A-20E2DEAFBA46")
    IRsOutlookControl : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetFrame( 
            /* [in] */ IRsNode *pFrame) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetOwnNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetLibrary( 
            /* [in] */ IRnLibraryPlace *pLibraryPlace,
            /* [in] */ BSTR szLibraryName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Show( 
            /* [in] */ BOOL bShow) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAspect( 
            /* [in] */ RtDWORD nAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAspect( 
            /* [retval][out] */ RtDWORD *nAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetThumbnailSize( 
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnLibraryChangeNotify( 
            /* [in] */ IRsLibraryChangeList *pChangeList) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE get_DragLibraryItem( 
            /* [in] */ IRsLibraryItem **ppLibraryItem) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsOutlookControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsOutlookControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsOutlookControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsOutlookControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetFrame )( 
            IRsOutlookControl * This,
            /* [in] */ IRsNode *pFrame);
        
        HRESULT ( STDMETHODCALLTYPE *SetOwnNode )( 
            IRsOutlookControl * This,
            /* [in] */ IRsNode *pNode);
        
        HRESULT ( STDMETHODCALLTYPE *SetLibrary )( 
            IRsOutlookControl * This,
            /* [in] */ IRnLibraryPlace *pLibraryPlace,
            /* [in] */ BSTR szLibraryName);
        
        HRESULT ( STDMETHODCALLTYPE *Show )( 
            IRsOutlookControl * This,
            /* [in] */ BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAspect )( 
            IRsOutlookControl * This,
            /* [in] */ RtDWORD nAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAspect )( 
            IRsOutlookControl * This,
            /* [retval][out] */ RtDWORD *nAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetThumbnailSize )( 
            IRsOutlookControl * This,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight);
        
        HRESULT ( STDMETHODCALLTYPE *OnLibraryChangeNotify )( 
            IRsOutlookControl * This,
            /* [in] */ IRsLibraryChangeList *pChangeList);
        
        HRESULT ( STDMETHODCALLTYPE *get_DragLibraryItem )( 
            IRsOutlookControl * This,
            /* [in] */ IRsLibraryItem **ppLibraryItem);
        
        HRESULT ( STDMETHODCALLTYPE *Refresh )( 
            IRsOutlookControl * This);
        
        END_INTERFACE
    } IRsOutlookControlVtbl;

    interface IRsOutlookControl
    {
        CONST_VTBL struct IRsOutlookControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsOutlookControl_SetFrame(This,pFrame)	\
    (This)->lpVtbl -> SetFrame(This,pFrame)

#define IRsOutlookControl_SetOwnNode(This,pNode)	\
    (This)->lpVtbl -> SetOwnNode(This,pNode)

#define IRsOutlookControl_SetLibrary(This,pLibraryPlace,szLibraryName)	\
    (This)->lpVtbl -> SetLibrary(This,pLibraryPlace,szLibraryName)

#define IRsOutlookControl_Show(This,bShow)	\
    (This)->lpVtbl -> Show(This,bShow)

#define IRsOutlookControl_SetAspect(This,nAspect)	\
    (This)->lpVtbl -> SetAspect(This,nAspect)

#define IRsOutlookControl_GetAspect(This,nAspect)	\
    (This)->lpVtbl -> GetAspect(This,nAspect)

#define IRsOutlookControl_SetThumbnailSize(This,dwWidth,dwHeight)	\
    (This)->lpVtbl -> SetThumbnailSize(This,dwWidth,dwHeight)

#define IRsOutlookControl_OnLibraryChangeNotify(This,pChangeList)	\
    (This)->lpVtbl -> OnLibraryChangeNotify(This,pChangeList)

#define IRsOutlookControl_get_DragLibraryItem(This,ppLibraryItem)	\
    (This)->lpVtbl -> get_DragLibraryItem(This,ppLibraryItem)

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

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsOutlookControl_SetFrame_Proxy( 
    IRsOutlookControl * This,
    /* [in] */ IRsNode *pFrame);


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


HRESULT STDMETHODCALLTYPE IRsOutlookControl_SetOwnNode_Proxy( 
    IRsOutlookControl * This,
    /* [in] */ IRsNode *pNode);


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


HRESULT STDMETHODCALLTYPE IRsOutlookControl_SetLibrary_Proxy( 
    IRsOutlookControl * This,
    /* [in] */ IRnLibraryPlace *pLibraryPlace,
    /* [in] */ BSTR szLibraryName);


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


HRESULT STDMETHODCALLTYPE IRsOutlookControl_Show_Proxy( 
    IRsOutlookControl * This,
    /* [in] */ BOOL bShow);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsOutlookControl_SetAspect_Proxy( 
    IRsOutlookControl * This,
    /* [in] */ RtDWORD nAspect);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsOutlookControl_GetAspect_Proxy( 
    IRsOutlookControl * This,
    /* [retval][out] */ RtDWORD *nAspect);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsOutlookControl_SetThumbnailSize_Proxy( 
    IRsOutlookControl * This,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight);


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


HRESULT STDMETHODCALLTYPE IRsOutlookControl_OnLibraryChangeNotify_Proxy( 
    IRsOutlookControl * This,
    /* [in] */ IRsLibraryChangeList *pChangeList);


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


HRESULT STDMETHODCALLTYPE IRsOutlookControl_get_DragLibraryItem_Proxy( 
    IRsOutlookControl * This,
    /* [in] */ IRsLibraryItem **ppLibraryItem);


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


HRESULT STDMETHODCALLTYPE IRsOutlookControl_Refresh_Proxy( 
    IRsOutlookControl * This);


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



#endif 	/* __IRsOutlookControl_INTERFACE_DEFINED__ */


#ifndef __IRsLibraryView_INTERFACE_DEFINED__
#define __IRsLibraryView_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibraryView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("856783EE-EA79-41f5-A199-F8EC3BE15195")
    IRsLibraryView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLibraryChangeNotify( 
            /* [in] */ IRsLibraryChangeList *pChangeList) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLibraryViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLibraryView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLibraryView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLibraryView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnLibraryChangeNotify )( 
            IRsLibraryView * This,
            /* [in] */ IRsLibraryChangeList *pChangeList);
        
        END_INTERFACE
    } IRsLibraryViewVtbl;

    interface IRsLibraryView
    {
        CONST_VTBL struct IRsLibraryViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsLibraryView_OnLibraryChangeNotify(This,pChangeList)	\
    (This)->lpVtbl -> OnLibraryChangeNotify(This,pChangeList)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsLibraryView_OnLibraryChangeNotify_Proxy( 
    IRsLibraryView * This,
    /* [in] */ IRsLibraryChangeList *pChangeList);


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



#endif 	/* __IRsLibraryView_INTERFACE_DEFINED__ */


#ifndef __IRnOutlookWindow_INTERFACE_DEFINED__
#define __IRnOutlookWindow_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRnOutlookWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5CAC7C7E-3466-40ea-BA95-F94C5C85BFF2")
    IRnOutlookWindow : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TargetLibrary( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TargetLibrary( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ThumbnailHeight( 
            /* [retval][out] */ RtDWORD *pdwHeight) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ThumbnailHeight( 
            /* [in] */ RtDWORD dwHeight) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ThumbnailWidth( 
            /* [retval][out] */ RtDWORD *pdwWidth) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ThumbnailWidth( 
            /* [in] */ RtDWORD dwWidth) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateOutlookControl( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryWindow( 
            /* [retval][out] */ IRsOutlookControl **result) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTargetLibrary( 
            /* [in] */ IRsLibrary **ppTargetLibrary) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnOutlookWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnOutlookWindow * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnOutlookWindow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnOutlookWindow * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TargetLibrary )( 
            IRnOutlookWindow * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TargetLibrary )( 
            IRnOutlookWindow * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ThumbnailHeight )( 
            IRnOutlookWindow * This,
            /* [retval][out] */ RtDWORD *pdwHeight);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ThumbnailHeight )( 
            IRnOutlookWindow * This,
            /* [in] */ RtDWORD dwHeight);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ThumbnailWidth )( 
            IRnOutlookWindow * This,
            /* [retval][out] */ RtDWORD *pdwWidth);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ThumbnailWidth )( 
            IRnOutlookWindow * This,
            /* [in] */ RtDWORD dwWidth);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateOutlookControl )( 
            IRnOutlookWindow * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryWindow )( 
            IRnOutlookWindow * This,
            /* [retval][out] */ IRsOutlookControl **result);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTargetLibrary )( 
            IRnOutlookWindow * This,
            /* [in] */ IRsLibrary **ppTargetLibrary);
        
        END_INTERFACE
    } IRnOutlookWindowVtbl;

    interface IRnOutlookWindow
    {
        CONST_VTBL struct IRnOutlookWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRnOutlookWindow_get_TargetLibrary(This,pVal)	\
    (This)->lpVtbl -> get_TargetLibrary(This,pVal)

#define IRnOutlookWindow_put_TargetLibrary(This,newVal)	\
    (This)->lpVtbl -> put_TargetLibrary(This,newVal)

#define IRnOutlookWindow_get_ThumbnailHeight(This,pdwHeight)	\
    (This)->lpVtbl -> get_ThumbnailHeight(This,pdwHeight)

#define IRnOutlookWindow_put_ThumbnailHeight(This,dwHeight)	\
    (This)->lpVtbl -> put_ThumbnailHeight(This,dwHeight)

#define IRnOutlookWindow_get_ThumbnailWidth(This,pdwWidth)	\
    (This)->lpVtbl -> get_ThumbnailWidth(This,pdwWidth)

#define IRnOutlookWindow_put_ThumbnailWidth(This,dwWidth)	\
    (This)->lpVtbl -> put_ThumbnailWidth(This,dwWidth)

#define IRnOutlookWindow_UpdateOutlookControl(This)	\
    (This)->lpVtbl -> UpdateOutlookControl(This)

#define IRnOutlookWindow_GetLibraryWindow(This,result)	\
    (This)->lpVtbl -> GetLibraryWindow(This,result)

#define IRnOutlookWindow_GetTargetLibrary(This,ppTargetLibrary)	\
    (This)->lpVtbl -> GetTargetLibrary(This,ppTargetLibrary)

#endif /* COBJMACROS */


#endif 	/* C style interface */



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


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


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


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnOutlookWindow_get_ThumbnailHeight_Proxy( 
    IRnOutlookWindow * This,
    /* [retval][out] */ RtDWORD *pdwHeight);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnOutlookWindow_put_ThumbnailHeight_Proxy( 
    IRnOutlookWindow * This,
    /* [in] */ RtDWORD dwHeight);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRnOutlookWindow_get_ThumbnailWidth_Proxy( 
    IRnOutlookWindow * This,
    /* [retval][out] */ RtDWORD *pdwWidth);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRnOutlookWindow_put_ThumbnailWidth_Proxy( 
    IRnOutlookWindow * This,
    /* [in] */ RtDWORD dwWidth);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnOutlookWindow_UpdateOutlookControl_Proxy( 
    IRnOutlookWindow * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnOutlookWindow_GetLibraryWindow_Proxy( 
    IRnOutlookWindow * This,
    /* [retval][out] */ IRsOutlookControl **result);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnOutlookWindow_GetTargetLibrary_Proxy( 
    IRnOutlookWindow * This,
    /* [in] */ IRsLibrary **ppTargetLibrary);


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



#endif 	/* __IRnOutlookWindow_INTERFACE_DEFINED__ */


#ifndef __IRfRemoteLibraryHelper_INTERFACE_DEFINED__
#define __IRfRemoteLibraryHelper_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRfRemoteLibraryHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A7157A8C-CE57-46b0-BD65-75F90A03431F")
    IRfRemoteLibraryHelper : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryPlaceActions( 
            /* [retval][out] */ IRfLibraryPlaceActions **ppActions) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryActions( 
            /* [retval][out] */ IRfLibraryActions **ppActions) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryItemActions( 
            /* [retval][out] */ IRfLibraryItemActions **ppActions) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfRemoteLibraryHelperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfRemoteLibraryHelper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfRemoteLibraryHelper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfRemoteLibraryHelper * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryPlaceActions )( 
            IRfRemoteLibraryHelper * This,
            /* [retval][out] */ IRfLibraryPlaceActions **ppActions);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryActions )( 
            IRfRemoteLibraryHelper * This,
            /* [retval][out] */ IRfLibraryActions **ppActions);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryItemActions )( 
            IRfRemoteLibraryHelper * This,
            /* [retval][out] */ IRfLibraryItemActions **ppActions);
        
        END_INTERFACE
    } IRfRemoteLibraryHelperVtbl;

    interface IRfRemoteLibraryHelper
    {
        CONST_VTBL struct IRfRemoteLibraryHelperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfRemoteLibraryHelper_GetLibraryPlaceActions(This,ppActions)	\
    (This)->lpVtbl -> GetLibraryPlaceActions(This,ppActions)

#define IRfRemoteLibraryHelper_GetLibraryActions(This,ppActions)	\
    (This)->lpVtbl -> GetLibraryActions(This,ppActions)

#define IRfRemoteLibraryHelper_GetLibraryItemActions(This,ppActions)	\
    (This)->lpVtbl -> GetLibraryItemActions(This,ppActions)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRemoteLibraryHelper_GetLibraryPlaceActions_Proxy( 
    IRfRemoteLibraryHelper * This,
    /* [retval][out] */ IRfLibraryPlaceActions **ppActions);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRemoteLibraryHelper_GetLibraryActions_Proxy( 
    IRfRemoteLibraryHelper * This,
    /* [retval][out] */ IRfLibraryActions **ppActions);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfRemoteLibraryHelper_GetLibraryItemActions_Proxy( 
    IRfRemoteLibraryHelper * This,
    /* [retval][out] */ IRfLibraryItemActions **ppActions);


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



#endif 	/* __IRfRemoteLibraryHelper_INTERFACE_DEFINED__ */


#ifndef __IRpLibrary2_INTERFACE_DEFINED__
#define __IRpLibrary2_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRpLibrary2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A89F8F01-CD55-44fd-9FD6-D6B61FE19516")
    IRpLibrary2 : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterLibraryPlace( 
            /* [in] */ IRnLibraryPlace *pLibraryPlace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterLibraryPlace( 
            /* [in] */ IRnLibraryPlace *pLibraryPlace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLibraryPlaceArray( 
            /* [retval][out] */ LPSAFEARRAY *pLibraryPlaceArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterLibraryView( 
            /* [in] */ IRsLibraryView *pLibraryView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterLibraryView( 
            /* [in] */ IRsLibraryView *pLibraryView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateRemoteLibraryHelper( 
            /* [retval][out] */ IRfRemoteLibraryHelper **ppHelper) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRpLibrary2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRpLibrary2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRpLibrary2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRpLibrary2 * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterLibraryPlace )( 
            IRpLibrary2 * This,
            /* [in] */ IRnLibraryPlace *pLibraryPlace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterLibraryPlace )( 
            IRpLibrary2 * This,
            /* [in] */ IRnLibraryPlace *pLibraryPlace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLibraryPlaceArray )( 
            IRpLibrary2 * This,
            /* [retval][out] */ LPSAFEARRAY *pLibraryPlaceArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterLibraryView )( 
            IRpLibrary2 * This,
            /* [in] */ IRsLibraryView *pLibraryView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterLibraryView )( 
            IRpLibrary2 * This,
            /* [in] */ IRsLibraryView *pLibraryView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateRemoteLibraryHelper )( 
            IRpLibrary2 * This,
            /* [retval][out] */ IRfRemoteLibraryHelper **ppHelper);
        
        END_INTERFACE
    } IRpLibrary2Vtbl;

    interface IRpLibrary2
    {
        CONST_VTBL struct IRpLibrary2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRpLibrary2_RegisterLibraryPlace(This,pLibraryPlace)	\
    (This)->lpVtbl -> RegisterLibraryPlace(This,pLibraryPlace)

#define IRpLibrary2_UnregisterLibraryPlace(This,pLibraryPlace)	\
    (This)->lpVtbl -> UnregisterLibraryPlace(This,pLibraryPlace)

#define IRpLibrary2_GetLibraryPlaceArray(This,pLibraryPlaceArray)	\
    (This)->lpVtbl -> GetLibraryPlaceArray(This,pLibraryPlaceArray)

#define IRpLibrary2_RegisterLibraryView(This,pLibraryView)	\
    (This)->lpVtbl -> RegisterLibraryView(This,pLibraryView)

#define IRpLibrary2_UnregisterLibraryView(This,pLibraryView)	\
    (This)->lpVtbl -> UnregisterLibraryView(This,pLibraryView)

#define IRpLibrary2_CreateRemoteLibraryHelper(This,ppHelper)	\
    (This)->lpVtbl -> CreateRemoteLibraryHelper(This,ppHelper)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpLibrary2_RegisterLibraryPlace_Proxy( 
    IRpLibrary2 * This,
    /* [in] */ IRnLibraryPlace *pLibraryPlace);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpLibrary2_UnregisterLibraryPlace_Proxy( 
    IRpLibrary2 * This,
    /* [in] */ IRnLibraryPlace *pLibraryPlace);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpLibrary2_GetLibraryPlaceArray_Proxy( 
    IRpLibrary2 * This,
    /* [retval][out] */ LPSAFEARRAY *pLibraryPlaceArray);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpLibrary2_RegisterLibraryView_Proxy( 
    IRpLibrary2 * This,
    /* [in] */ IRsLibraryView *pLibraryView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpLibrary2_UnregisterLibraryView_Proxy( 
    IRpLibrary2 * This,
    /* [in] */ IRsLibraryView *pLibraryView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpLibrary2_CreateRemoteLibraryHelper_Proxy( 
    IRpLibrary2 * This,
    /* [retval][out] */ IRfRemoteLibraryHelper **ppHelper);


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



#endif 	/* __IRpLibrary2_INTERFACE_DEFINED__ */


#ifndef __IRcShowStandardLibraryWindow_INTERFACE_DEFINED__
#define __IRcShowStandardLibraryWindow_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcShowStandardLibraryWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4918F0D1-6EA4-4806-A836-356C15645CF1")
    IRcShowStandardLibraryWindow : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcShowStandardLibraryWindow
    {
        CONST_VTBL struct IRcShowStandardLibraryWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowStandardLibraryWindow_INTERFACE_DEFINED__ */


#ifndef __IRcOpenLibraryPlace_INTERFACE_DEFINED__
#define __IRcOpenLibraryPlace_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcOpenLibraryPlace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("44C6DC52-6878-4034-9611-1FEE2126289A")
    IRcOpenLibraryPlace : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcOpenLibraryPlace
    {
        CONST_VTBL struct IRcOpenLibraryPlaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcOpenLibraryPlace_INTERFACE_DEFINED__ */


#ifndef __IRcShowLibraryBrowserWindow_INTERFACE_DEFINED__
#define __IRcShowLibraryBrowserWindow_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcShowLibraryBrowserWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0932E1BF-8C7E-4403-B719-5F8B50846075")
    IRcShowLibraryBrowserWindow : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcShowLibraryBrowserWindow
    {
        CONST_VTBL struct IRcShowLibraryBrowserWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowLibraryBrowserWindow_INTERFACE_DEFINED__ */


#ifndef __IRcShowLibraryTagEditorView_INTERFACE_DEFINED__
#define __IRcShowLibraryTagEditorView_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcShowLibraryTagEditorView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9D0B33B1-0E7F-4d3b-A6E7-94EC58159F21")
    IRcShowLibraryTagEditorView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcShowLibraryTagEditorView
    {
        CONST_VTBL struct IRcShowLibraryTagEditorViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowLibraryTagEditorView_INTERFACE_DEFINED__ */


#ifndef __IRcAddComponentsToLib_INTERFACE_DEFINED__
#define __IRcAddComponentsToLib_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcAddComponentsToLib;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C9658796-1F5D-4394-AABC-301A834D1BF9")
    IRcAddComponentsToLib : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcAddComponentsToLib
    {
        CONST_VTBL struct IRcAddComponentsToLibVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAddComponentsToLib_INTERFACE_DEFINED__ */


#ifndef __IRcDlgGenericLoad_INTERFACE_DEFINED__
#define __IRcDlgGenericLoad_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcDlgGenericLoad;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CA508C82-FB6E-4a48-96C2-04ADB3F40B4D")
    IRcDlgGenericLoad : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcDlgGenericLoad
    {
        CONST_VTBL struct IRcDlgGenericLoadVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDlgGenericLoad_INTERFACE_DEFINED__ */


#ifndef __IRcDlgGenericSave_INTERFACE_DEFINED__
#define __IRcDlgGenericSave_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcDlgGenericSave;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5F6DBF1A-AC82-491c-A7AD-FBD39E355020")
    IRcDlgGenericSave : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcDlgGenericSave
    {
        CONST_VTBL struct IRcDlgGenericSaveVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDlgGenericSave_INTERFACE_DEFINED__ */


#ifndef __IRcInitializeLibraryPlace_INTERFACE_DEFINED__
#define __IRcInitializeLibraryPlace_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcInitializeLibraryPlace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B173F515-F5DE-445a-A53A-79300E68B307")
    IRcInitializeLibraryPlace : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcInitializeLibraryPlace
    {
        CONST_VTBL struct IRcInitializeLibraryPlaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcInitializeLibraryPlace_INTERFACE_DEFINED__ */


#ifndef __IRcMnChangeThumbn_INTERFACE_DEFINED__
#define __IRcMnChangeThumbn_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRcMnChangeThumbn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3A748953-2079-45bc-B7D2-23DB212E220C")
    IRcMnChangeThumbn : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRcMnChangeThumbn
    {
        CONST_VTBL struct IRcMnChangeThumbnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMnChangeThumbn_INTERFACE_DEFINED__ */


#ifndef __IRdOutlookWindowSettings_INTERFACE_DEFINED__
#define __IRdOutlookWindowSettings_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRdOutlookWindowSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A5951943-F089-4324-A5EE-D604838F108D")
    IRdOutlookWindowSettings : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Aspect( 
            /* [retval][out] */ RtDWORD *pdwAspect) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Aspect( 
            /* [in] */ RtDWORD dwAspect) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Minimized( 
            /* [retval][out] */ RtBOOL *pbMinimalized) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Minimized( 
            /* [in] */ RtBOOL bMinimalized) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExpandedHeight( 
            /* [retval][out] */ RtDWORD *pdwExpandedHeight) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExpandedHeight( 
            /* [in] */ RtDWORD dwExpandedHeight) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ThumbnailHeight( 
            /* [retval][out] */ RtDWORD *pdwHeight) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ThumbnailHeight( 
            /* [in] */ RtDWORD dwHeight) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ThumbnailWidth( 
            /* [retval][out] */ RtDWORD *pdwWidth) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ThumbnailWidth( 
            /* [in] */ RtDWORD dwWidth) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdOutlookWindowSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdOutlookWindowSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdOutlookWindowSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRdOutlookWindowSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Aspect )( 
            IRdOutlookWindowSettings * This,
            /* [retval][out] */ RtDWORD *pdwAspect);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Aspect )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ RtDWORD dwAspect);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimized )( 
            IRdOutlookWindowSettings * This,
            /* [retval][out] */ RtBOOL *pbMinimalized);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Minimized )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ RtBOOL bMinimalized);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExpandedHeight )( 
            IRdOutlookWindowSettings * This,
            /* [retval][out] */ RtDWORD *pdwExpandedHeight);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExpandedHeight )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ RtDWORD dwExpandedHeight);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ThumbnailHeight )( 
            IRdOutlookWindowSettings * This,
            /* [retval][out] */ RtDWORD *pdwHeight);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ThumbnailHeight )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ RtDWORD dwHeight);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ThumbnailWidth )( 
            IRdOutlookWindowSettings * This,
            /* [retval][out] */ RtDWORD *pdwWidth);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ThumbnailWidth )( 
            IRdOutlookWindowSettings * This,
            /* [in] */ RtDWORD dwWidth);
        
        END_INTERFACE
    } IRdOutlookWindowSettingsVtbl;

    interface IRdOutlookWindowSettings
    {
        CONST_VTBL struct IRdOutlookWindowSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRdOutlookWindowSettings_get_Aspect(This,pdwAspect)	\
    (This)->lpVtbl -> get_Aspect(This,pdwAspect)

#define IRdOutlookWindowSettings_put_Aspect(This,dwAspect)	\
    (This)->lpVtbl -> put_Aspect(This,dwAspect)

#define IRdOutlookWindowSettings_get_Minimized(This,pbMinimalized)	\
    (This)->lpVtbl -> get_Minimized(This,pbMinimalized)

#define IRdOutlookWindowSettings_put_Minimized(This,bMinimalized)	\
    (This)->lpVtbl -> put_Minimized(This,bMinimalized)

#define IRdOutlookWindowSettings_get_ExpandedHeight(This,pdwExpandedHeight)	\
    (This)->lpVtbl -> get_ExpandedHeight(This,pdwExpandedHeight)

#define IRdOutlookWindowSettings_put_ExpandedHeight(This,dwExpandedHeight)	\
    (This)->lpVtbl -> put_ExpandedHeight(This,dwExpandedHeight)

#define IRdOutlookWindowSettings_get_ThumbnailHeight(This,pdwHeight)	\
    (This)->lpVtbl -> get_ThumbnailHeight(This,pdwHeight)

#define IRdOutlookWindowSettings_put_ThumbnailHeight(This,dwHeight)	\
    (This)->lpVtbl -> put_ThumbnailHeight(This,dwHeight)

#define IRdOutlookWindowSettings_get_ThumbnailWidth(This,pdwWidth)	\
    (This)->lpVtbl -> get_ThumbnailWidth(This,pdwWidth)

#define IRdOutlookWindowSettings_put_ThumbnailWidth(This,dwWidth)	\
    (This)->lpVtbl -> put_ThumbnailWidth(This,dwWidth)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_get_Aspect_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [retval][out] */ RtDWORD *pdwAspect);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_put_Aspect_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [in] */ RtDWORD dwAspect);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_get_Minimized_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [retval][out] */ RtBOOL *pbMinimalized);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_put_Minimized_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [in] */ RtBOOL bMinimalized);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_get_ExpandedHeight_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [retval][out] */ RtDWORD *pdwExpandedHeight);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_put_ExpandedHeight_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [in] */ RtDWORD dwExpandedHeight);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_get_ThumbnailHeight_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [retval][out] */ RtDWORD *pdwHeight);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_put_ThumbnailHeight_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [in] */ RtDWORD dwHeight);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_get_ThumbnailWidth_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [retval][out] */ RtDWORD *pdwWidth);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdOutlookWindowSettings_put_ThumbnailWidth_Proxy( 
    IRdOutlookWindowSettings * This,
    /* [in] */ RtDWORD dwWidth);


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



#endif 	/* __IRdOutlookWindowSettings_INTERFACE_DEFINED__ */


#ifndef __IRsLibraryBrowserControl_INTERFACE_DEFINED__
#define __IRsLibraryBrowserControl_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibraryBrowserControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("575AE31B-1B51-4500-94B6-EE41E69A5C90")
    IRsLibraryBrowserControl : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SyncContent( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsLibraryBrowserControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLibraryBrowserControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLibraryBrowserControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLibraryBrowserControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRsLibraryBrowserControl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRsLibraryBrowserControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRsLibraryBrowserControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRsLibraryBrowserControl * 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);
        
        HRESULT ( STDMETHODCALLTYPE *SyncContent )( 
            IRsLibraryBrowserControl * This);
        
        END_INTERFACE
    } IRsLibraryBrowserControlVtbl;

    interface IRsLibraryBrowserControl
    {
        CONST_VTBL struct IRsLibraryBrowserControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRsLibraryBrowserControl_SyncContent(This)	\
    (This)->lpVtbl -> SyncContent(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsLibraryBrowserControl_SyncContent_Proxy( 
    IRsLibraryBrowserControl * This);


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



#endif 	/* __IRsLibraryBrowserControl_INTERFACE_DEFINED__ */


#ifndef __IRsLibraryBrowserToolbar_INTERFACE_DEFINED__
#define __IRsLibraryBrowserToolbar_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsLibraryBrowserToolbar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("041A7441-7729-4f5e-91C6-897D51B2E66E")
    IRsLibraryBrowserToolbar : public IDispatch
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsLibraryBrowserToolbarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsLibraryBrowserToolbar * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsLibraryBrowserToolbar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsLibraryBrowserToolbar * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRsLibraryBrowserToolbar * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRsLibraryBrowserToolbar * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRsLibraryBrowserToolbar * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRsLibraryBrowserToolbar * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } IRsLibraryBrowserToolbarVtbl;

    interface IRsLibraryBrowserToolbar
    {
        CONST_VTBL struct IRsLibraryBrowserToolbarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsLibraryBrowserToolbar_INTERFACE_DEFINED__ */


#ifndef __IRnLibraryBrowserWindow_INTERFACE_DEFINED__
#define __IRnLibraryBrowserWindow_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRnLibraryBrowserWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CC7537AF-E262-44cb-B2C9-591720DFC50D")
    IRnLibraryBrowserWindow : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRnLibraryBrowserWindow
    {
        CONST_VTBL struct IRnLibraryBrowserWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnLibraryBrowserWindow_INTERFACE_DEFINED__ */


#ifndef __IRnTagEditorView_INTERFACE_DEFINED__
#define __IRnTagEditorView_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRnTagEditorView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0259CF3C-9202-4b8b-9030-9D8BA0496173")
    IRnTagEditorView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRnTagEditorView
    {
        CONST_VTBL struct IRnTagEditorViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnTagEditorView_INTERFACE_DEFINED__ */


#ifndef __IRsPanelOutlookControl_INTERFACE_DEFINED__
#define __IRsPanelOutlookControl_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsPanelOutlookControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("69C5DF83-DC45-4356-9588-5AC6E9757CB9")
    IRsPanelOutlookControl : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

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

    interface IRsPanelOutlookControl
    {
        CONST_VTBL struct IRsPanelOutlookControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsPanelOutlookControl_INTERFACE_DEFINED__ */


#ifndef __IRsImportItemInfo_INTERFACE_DEFINED__
#define __IRsImportItemInfo_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsImportItemInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F7BCC1E6-2CC0-422f-8743-B22598B84B83")
    IRsImportItemInfo : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LibraryName( 
            /* [in] */ BSTR *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SubLibraryName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SubLibraryName( 
            /* [in] */ BSTR *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryItemName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LibraryItemName( 
            /* [in] */ BSTR *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thumbnail( 
            /* [retval][out] */ IRdBitmap **ppThumbnail) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Thumbnail( 
            /* [in] */ IRdBitmap *pNewThumbnail) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsImportItemInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsImportItemInfo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsImportItemInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsImportItemInfo * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryName )( 
            IRsImportItemInfo * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LibraryName )( 
            IRsImportItemInfo * This,
            /* [in] */ BSTR *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubLibraryName )( 
            IRsImportItemInfo * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubLibraryName )( 
            IRsImportItemInfo * This,
            /* [in] */ BSTR *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryItemName )( 
            IRsImportItemInfo * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LibraryItemName )( 
            IRsImportItemInfo * This,
            /* [in] */ BSTR *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IRsImportItemInfo * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IRsImportItemInfo * This,
            /* [in] */ BSTR *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thumbnail )( 
            IRsImportItemInfo * This,
            /* [retval][out] */ IRdBitmap **ppThumbnail);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thumbnail )( 
            IRsImportItemInfo * This,
            /* [in] */ IRdBitmap *pNewThumbnail);
        
        END_INTERFACE
    } IRsImportItemInfoVtbl;

    interface IRsImportItemInfo
    {
        CONST_VTBL struct IRsImportItemInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsImportItemInfo_get_LibraryName(This,pVal)	\
    (This)->lpVtbl -> get_LibraryName(This,pVal)

#define IRsImportItemInfo_put_LibraryName(This,newVal)	\
    (This)->lpVtbl -> put_LibraryName(This,newVal)

#define IRsImportItemInfo_get_SubLibraryName(This,pVal)	\
    (This)->lpVtbl -> get_SubLibraryName(This,pVal)

#define IRsImportItemInfo_put_SubLibraryName(This,newVal)	\
    (This)->lpVtbl -> put_SubLibraryName(This,newVal)

#define IRsImportItemInfo_get_LibraryItemName(This,pVal)	\
    (This)->lpVtbl -> get_LibraryItemName(This,pVal)

#define IRsImportItemInfo_put_LibraryItemName(This,newVal)	\
    (This)->lpVtbl -> put_LibraryItemName(This,newVal)

#define IRsImportItemInfo_get_Description(This,pVal)	\
    (This)->lpVtbl -> get_Description(This,pVal)

#define IRsImportItemInfo_put_Description(This,newVal)	\
    (This)->lpVtbl -> put_Description(This,newVal)

#define IRsImportItemInfo_get_Thumbnail(This,ppThumbnail)	\
    (This)->lpVtbl -> get_Thumbnail(This,ppThumbnail)

#define IRsImportItemInfo_put_Thumbnail(This,pNewThumbnail)	\
    (This)->lpVtbl -> put_Thumbnail(This,pNewThumbnail)

#endif /* COBJMACROS */


#endif 	/* C style interface */



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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsImportItemInfo_get_Thumbnail_Proxy( 
    IRsImportItemInfo * This,
    /* [retval][out] */ IRdBitmap **ppThumbnail);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsImportItemInfo_put_Thumbnail_Proxy( 
    IRsImportItemInfo * This,
    /* [in] */ IRdBitmap *pNewThumbnail);


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



#endif 	/* __IRsImportItemInfo_INTERFACE_DEFINED__ */


#ifndef __IRfLibraryImportSupport_INTERFACE_DEFINED__
#define __IRfLibraryImportSupport_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRfLibraryImportSupport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("556BB524-29E4-4a7c-88DF-9F001173A656")
    IRfLibraryImportSupport : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetListOfImportableTS70LibraryItems( 
            /* [in] */ IRsNode *pLibraryNode,
            /* [retval][out] */ LPSAFEARRAY *ppArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ImportTS70LibraryItem( 
            /* [in] */ BSTR bszLibraryFilePath,
            /* [in] */ IRsNode *pLibraryNode,
            /* [in] */ IRsImportItemInfo *pImportItemInfo,
            /* [in] */ IRnLibraryPlace *pPlace,
            /* [in] */ IRsLibrary *pILibrary,
            /* [in] */ BSTR *pbszComment) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfLibraryImportSupportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfLibraryImportSupport * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfLibraryImportSupport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfLibraryImportSupport * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetListOfImportableTS70LibraryItems )( 
            IRfLibraryImportSupport * This,
            /* [in] */ IRsNode *pLibraryNode,
            /* [retval][out] */ LPSAFEARRAY *ppArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ImportTS70LibraryItem )( 
            IRfLibraryImportSupport * This,
            /* [in] */ BSTR bszLibraryFilePath,
            /* [in] */ IRsNode *pLibraryNode,
            /* [in] */ IRsImportItemInfo *pImportItemInfo,
            /* [in] */ IRnLibraryPlace *pPlace,
            /* [in] */ IRsLibrary *pILibrary,
            /* [in] */ BSTR *pbszComment);
        
        END_INTERFACE
    } IRfLibraryImportSupportVtbl;

    interface IRfLibraryImportSupport
    {
        CONST_VTBL struct IRfLibraryImportSupportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfLibraryImportSupport_GetListOfImportableTS70LibraryItems(This,pLibraryNode,ppArray)	\
    (This)->lpVtbl -> GetListOfImportableTS70LibraryItems(This,pLibraryNode,ppArray)

#define IRfLibraryImportSupport_ImportTS70LibraryItem(This,bszLibraryFilePath,pLibraryNode,pImportItemInfo,pPlace,pILibrary,pbszComment)	\
    (This)->lpVtbl -> ImportTS70LibraryItem(This,bszLibraryFilePath,pLibraryNode,pImportItemInfo,pPlace,pILibrary,pbszComment)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryImportSupport_GetListOfImportableTS70LibraryItems_Proxy( 
    IRfLibraryImportSupport * This,
    /* [in] */ IRsNode *pLibraryNode,
    /* [retval][out] */ LPSAFEARRAY *ppArray);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfLibraryImportSupport_ImportTS70LibraryItem_Proxy( 
    IRfLibraryImportSupport * This,
    /* [in] */ BSTR bszLibraryFilePath,
    /* [in] */ IRsNode *pLibraryNode,
    /* [in] */ IRsImportItemInfo *pImportItemInfo,
    /* [in] */ IRnLibraryPlace *pPlace,
    /* [in] */ IRsLibrary *pILibrary,
    /* [in] */ BSTR *pbszComment);


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



#endif 	/* __IRfLibraryImportSupport_INTERFACE_DEFINED__ */


#ifndef __IRsAsyncSaveInfo_INTERFACE_DEFINED__
#define __IRsAsyncSaveInfo_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRsAsyncSaveInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3A2743D6-1F34-48ee-8949-A59B2264B6FF")
    IRsAsyncSaveInfo : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_WorkingName( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_WorkingName( 
            /* [in] */ BSTR bstrVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DesiredName( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DesiredName( 
            /* [in] */ BSTR bstrVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Library( 
            /* [retval][out] */ IRsLibrary **ppLibrary) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Library( 
            /* [in] */ IRsLibrary *pLibrary) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAsyncSaveInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAsyncSaveInfo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAsyncSaveInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAsyncSaveInfo * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRsAsyncSaveInfo * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WorkingName )( 
            IRsAsyncSaveInfo * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WorkingName )( 
            IRsAsyncSaveInfo * This,
            /* [in] */ BSTR bstrVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DesiredName )( 
            IRsAsyncSaveInfo * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DesiredName )( 
            IRsAsyncSaveInfo * This,
            /* [in] */ BSTR bstrVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Library )( 
            IRsAsyncSaveInfo * This,
            /* [retval][out] */ IRsLibrary **ppLibrary);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Library )( 
            IRsAsyncSaveInfo * This,
            /* [in] */ IRsLibrary *pLibrary);
        
        END_INTERFACE
    } IRsAsyncSaveInfoVtbl;

    interface IRsAsyncSaveInfo
    {
        CONST_VTBL struct IRsAsyncSaveInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#define IRsAsyncSaveInfo_get_WorkingName(This,pbstrVal)	\
    (This)->lpVtbl -> get_WorkingName(This,pbstrVal)

#define IRsAsyncSaveInfo_put_WorkingName(This,bstrVal)	\
    (This)->lpVtbl -> put_WorkingName(This,bstrVal)

#define IRsAsyncSaveInfo_get_DesiredName(This,pbstrVal)	\
    (This)->lpVtbl -> get_DesiredName(This,pbstrVal)

#define IRsAsyncSaveInfo_put_DesiredName(This,bstrVal)	\
    (This)->lpVtbl -> put_DesiredName(This,bstrVal)

#define IRsAsyncSaveInfo_get_Library(This,ppLibrary)	\
    (This)->lpVtbl -> get_Library(This,ppLibrary)

#define IRsAsyncSaveInfo_put_Library(This,pLibrary)	\
    (This)->lpVtbl -> put_Library(This,pLibrary)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAsyncSaveInfo_Clear_Proxy( 
    IRsAsyncSaveInfo * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsAsyncSaveInfo_get_WorkingName_Proxy( 
    IRsAsyncSaveInfo * This,
    /* [retval][out] */ BSTR *pbstrVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsAsyncSaveInfo_put_WorkingName_Proxy( 
    IRsAsyncSaveInfo * This,
    /* [in] */ BSTR bstrVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsAsyncSaveInfo_get_DesiredName_Proxy( 
    IRsAsyncSaveInfo * This,
    /* [retval][out] */ BSTR *pbstrVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsAsyncSaveInfo_put_DesiredName_Proxy( 
    IRsAsyncSaveInfo * This,
    /* [in] */ BSTR bstrVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsAsyncSaveInfo_get_Library_Proxy( 
    IRsAsyncSaveInfo * This,
    /* [retval][out] */ IRsLibrary **ppLibrary);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsAsyncSaveInfo_put_Library_Proxy( 
    IRsAsyncSaveInfo * This,
    /* [in] */ IRsLibrary *pLibrary);


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



#endif 	/* __IRsAsyncSaveInfo_INTERFACE_DEFINED__ */



#ifndef __Library2_LIBRARY_DEFINED__
#define __Library2_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_Library2;

EXTERN_C const CLSID CLSID_CRiLibrary2;

#ifdef __cplusplus

class DECLSPEC_UUID("012C6904-B0A0-4e41-A575-024C9E3A1D21")
CRiLibrary2;
#endif

EXTERN_C const CLSID CLSID_CRfLibraryActions;

#ifdef __cplusplus

class DECLSPEC_UUID("9E67F258-6C07-41a2-A8CA-CB03AFFFA71A")
CRfLibraryActions;
#endif

EXTERN_C const CLSID CLSID_CRsOutlookControl;

#ifdef __cplusplus

class DECLSPEC_UUID("BADD28E8-9FCB-46de-BDE2-100625B5337F")
CRsOutlookControl;
#endif

EXTERN_C const CLSID CLSID_CRpLibrary2;

#ifdef __cplusplus

class DECLSPEC_UUID("50045C5D-4A6B-4629-A359-ABCAD35698DC")
CRpLibrary2;
#endif

EXTERN_C const CLSID CLSID_CRdOutlookWindowSettings;

#ifdef __cplusplus

class DECLSPEC_UUID("6E298BC8-CE5E-408a-90CB-AD5ABAF1E17A")
CRdOutlookWindowSettings;
#endif

EXTERN_C const CLSID CLSID_CRsLibraryBrowserControl;

#ifdef __cplusplus

class DECLSPEC_UUID("91E7D7FF-6CA2-48c2-863E-DCD92BBEFD68")
CRsLibraryBrowserControl;
#endif

EXTERN_C const CLSID CLSID_CRsLibraryBrowserToolbar;

#ifdef __cplusplus

class DECLSPEC_UUID("1832A1E2-A7E6-459a-B7AA-528E72D7469B")
CRsLibraryBrowserToolbar;
#endif

EXTERN_C const CLSID CLSID_RsPropertyColorDlg;

#ifdef __cplusplus

class DECLSPEC_UUID("827E870B-23A6-46F2-BD02-6DC05DDC62E2")
RsPropertyColorDlg;
#endif

EXTERN_C const CLSID CLSID_RsPropertyGrid;

#ifdef __cplusplus

class DECLSPEC_UUID("AB97C516-5403-4419-8302-AE49CD5B891C")
RsPropertyGrid;
#endif
#endif /* __Library2_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

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

unsigned long             __RPC_USER  HICON_UserSize(     unsigned long *, unsigned long            , HICON * ); 
unsigned char * __RPC_USER  HICON_UserMarshal(  unsigned long *, unsigned char *, HICON * ); 
unsigned char * __RPC_USER  HICON_UserUnmarshal(unsigned long *, unsigned char *, HICON * ); 
void                      __RPC_USER  HICON_UserFree(     unsigned long *, HICON * ); 

unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 

unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


