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

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


 /* File created by MIDL compiler version 5.03.0280 */
/* at Sat Aug 18 01:06:36 2001
 */
/* Compiler settings for E:\Decal\Source\Inject\Inject.idl:
    Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
    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(  )


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

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

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

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

#ifndef __Inject_h__
#define __Inject_h__

/* Forward Declarations */ 

#ifndef __IManager_FWD_DEFINED__
#define __IManager_FWD_DEFINED__
typedef interface IManager IManager;
#endif 	/* __IManager_FWD_DEFINED__ */


#ifndef __IPluginSite_FWD_DEFINED__
#define __IPluginSite_FWD_DEFINED__
typedef interface IPluginSite IPluginSite;
#endif 	/* __IPluginSite_FWD_DEFINED__ */


#ifndef __IPluginSink_FWD_DEFINED__
#define __IPluginSink_FWD_DEFINED__
typedef interface IPluginSink IPluginSink;
#endif 	/* __IPluginSink_FWD_DEFINED__ */


#ifndef __IPlugin_FWD_DEFINED__
#define __IPlugin_FWD_DEFINED__
typedef interface IPlugin IPlugin;
#endif 	/* __IPlugin_FWD_DEFINED__ */


#ifndef __IControl_FWD_DEFINED__
#define __IControl_FWD_DEFINED__
typedef interface IControl IControl;
#endif 	/* __IControl_FWD_DEFINED__ */


#ifndef __IControlEvents_FWD_DEFINED__
#define __IControlEvents_FWD_DEFINED__
typedef interface IControlEvents IControlEvents;
#endif 	/* __IControlEvents_FWD_DEFINED__ */


#ifndef __ILayer_FWD_DEFINED__
#define __ILayer_FWD_DEFINED__
typedef interface ILayer ILayer;
#endif 	/* __ILayer_FWD_DEFINED__ */


#ifndef __ILayerRender_FWD_DEFINED__
#define __ILayerRender_FWD_DEFINED__
typedef interface ILayerRender ILayerRender;
#endif 	/* __ILayerRender_FWD_DEFINED__ */


#ifndef __ILayerSite_FWD_DEFINED__
#define __ILayerSite_FWD_DEFINED__
typedef interface ILayerSite ILayerSite;
#endif 	/* __ILayerSite_FWD_DEFINED__ */


#ifndef __IBarManager_FWD_DEFINED__
#define __IBarManager_FWD_DEFINED__
typedef interface IBarManager IBarManager;
#endif 	/* __IBarManager_FWD_DEFINED__ */


#ifndef __IIconCache_FWD_DEFINED__
#define __IIconCache_FWD_DEFINED__
typedef interface IIconCache IIconCache;
#endif 	/* __IIconCache_FWD_DEFINED__ */


#ifndef __IImageCacheDisp_FWD_DEFINED__
#define __IImageCacheDisp_FWD_DEFINED__
typedef interface IImageCacheDisp IImageCacheDisp;
#endif 	/* __IImageCacheDisp_FWD_DEFINED__ */


#ifndef __IImageCache_FWD_DEFINED__
#define __IImageCache_FWD_DEFINED__
typedef interface IImageCache IImageCache;
#endif 	/* __IImageCache_FWD_DEFINED__ */


#ifndef __IFontCacheDisp_FWD_DEFINED__
#define __IFontCacheDisp_FWD_DEFINED__
typedef interface IFontCacheDisp IFontCacheDisp;
#endif 	/* __IFontCacheDisp_FWD_DEFINED__ */


#ifndef __IFontCache_FWD_DEFINED__
#define __IFontCache_FWD_DEFINED__
typedef interface IFontCache IFontCache;
#endif 	/* __IFontCache_FWD_DEFINED__ */


#ifndef __ISimpleBar_FWD_DEFINED__
#define __ISimpleBar_FWD_DEFINED__
typedef interface ISimpleBar ISimpleBar;
#endif 	/* __ISimpleBar_FWD_DEFINED__ */


#ifndef __ILayerMouse_FWD_DEFINED__
#define __ILayerMouse_FWD_DEFINED__
typedef interface ILayerMouse ILayerMouse;
#endif 	/* __ILayerMouse_FWD_DEFINED__ */


#ifndef __ILayerSchema_FWD_DEFINED__
#define __ILayerSchema_FWD_DEFINED__
typedef interface ILayerSchema ILayerSchema;
#endif 	/* __ILayerSchema_FWD_DEFINED__ */


#ifndef __IButton_FWD_DEFINED__
#define __IButton_FWD_DEFINED__
typedef interface IButton IButton;
#endif 	/* __IButton_FWD_DEFINED__ */


#ifndef __ICommandEvents_FWD_DEFINED__
#define __ICommandEvents_FWD_DEFINED__
typedef interface ICommandEvents ICommandEvents;
#endif 	/* __ICommandEvents_FWD_DEFINED__ */


#ifndef __IPager_FWD_DEFINED__
#define __IPager_FWD_DEFINED__
typedef interface IPager IPager;
#endif 	/* __IPager_FWD_DEFINED__ */


#ifndef __IPagerEvents_FWD_DEFINED__
#define __IPagerEvents_FWD_DEFINED__
typedef interface IPagerEvents IPagerEvents;
#endif 	/* __IPagerEvents_FWD_DEFINED__ */


#ifndef __IPanel_FWD_DEFINED__
#define __IPanel_FWD_DEFINED__
typedef interface IPanel IPanel;
#endif 	/* __IPanel_FWD_DEFINED__ */


#ifndef __IPanelSink_FWD_DEFINED__
#define __IPanelSink_FWD_DEFINED__
typedef interface IPanelSink IPanelSink;
#endif 	/* __IPanelSink_FWD_DEFINED__ */


#ifndef __ICanvas_FWD_DEFINED__
#define __ICanvas_FWD_DEFINED__
typedef interface ICanvas ICanvas;
#endif 	/* __ICanvas_FWD_DEFINED__ */


#ifndef __IViewDisp_FWD_DEFINED__
#define __IViewDisp_FWD_DEFINED__
typedef interface IViewDisp IViewDisp;
#endif 	/* __IViewDisp_FWD_DEFINED__ */


#ifndef __IView_FWD_DEFINED__
#define __IView_FWD_DEFINED__
typedef interface IView IView;
#endif 	/* __IView_FWD_DEFINED__ */


#ifndef __IViewEvents_FWD_DEFINED__
#define __IViewEvents_FWD_DEFINED__
typedef interface IViewEvents IViewEvents;
#endif 	/* __IViewEvents_FWD_DEFINED__ */


#ifndef __IRootLayer_FWD_DEFINED__
#define __IRootLayer_FWD_DEFINED__
typedef interface IRootLayer IRootLayer;
#endif 	/* __IRootLayer_FWD_DEFINED__ */


#ifndef __IMessageMember_FWD_DEFINED__
#define __IMessageMember_FWD_DEFINED__
typedef interface IMessageMember IMessageMember;
#endif 	/* __IMessageMember_FWD_DEFINED__ */


#ifndef __IMessage_FWD_DEFINED__
#define __IMessage_FWD_DEFINED__
typedef interface IMessage IMessage;
#endif 	/* __IMessage_FWD_DEFINED__ */


#ifndef __INetworkFilter_FWD_DEFINED__
#define __INetworkFilter_FWD_DEFINED__
typedef interface INetworkFilter INetworkFilter;
#endif 	/* __INetworkFilter_FWD_DEFINED__ */


#ifndef __ILayerKeyboard_FWD_DEFINED__
#define __ILayerKeyboard_FWD_DEFINED__
typedef interface ILayerKeyboard ILayerKeyboard;
#endif 	/* __ILayerKeyboard_FWD_DEFINED__ */


#ifndef __ILayerPopup_FWD_DEFINED__
#define __ILayerPopup_FWD_DEFINED__
typedef interface ILayerPopup ILayerPopup;
#endif 	/* __ILayerPopup_FWD_DEFINED__ */


#ifndef __ILayerTimer_FWD_DEFINED__
#define __ILayerTimer_FWD_DEFINED__
typedef interface ILayerTimer ILayerTimer;
#endif 	/* __ILayerTimer_FWD_DEFINED__ */


#ifndef __IWindowsMessageSink_FWD_DEFINED__
#define __IWindowsMessageSink_FWD_DEFINED__
typedef interface IWindowsMessageSink IWindowsMessageSink;
#endif 	/* __IWindowsMessageSink_FWD_DEFINED__ */


#ifndef __IBrushImage_FWD_DEFINED__
#define __IBrushImage_FWD_DEFINED__
typedef interface IBrushImage IBrushImage;
#endif 	/* __IBrushImage_FWD_DEFINED__ */


#ifndef __IInputBuffer_FWD_DEFINED__
#define __IInputBuffer_FWD_DEFINED__
typedef interface IInputBuffer IInputBuffer;
#endif 	/* __IInputBuffer_FWD_DEFINED__ */


#ifndef __IInputEvents_FWD_DEFINED__
#define __IInputEvents_FWD_DEFINED__
typedef interface IInputEvents IInputEvents;
#endif 	/* __IInputEvents_FWD_DEFINED__ */


#ifndef __IInputNotify_FWD_DEFINED__
#define __IInputNotify_FWD_DEFINED__
typedef interface IInputNotify IInputNotify;
#endif 	/* __IInputNotify_FWD_DEFINED__ */


#ifndef __IPlugin_FWD_DEFINED__
#define __IPlugin_FWD_DEFINED__
typedef interface IPlugin IPlugin;
#endif 	/* __IPlugin_FWD_DEFINED__ */


#ifndef __IPluginSink_FWD_DEFINED__
#define __IPluginSink_FWD_DEFINED__
typedef interface IPluginSink IPluginSink;
#endif 	/* __IPluginSink_FWD_DEFINED__ */


#ifndef __ILayerSite_FWD_DEFINED__
#define __ILayerSite_FWD_DEFINED__
typedef interface ILayerSite ILayerSite;
#endif 	/* __ILayerSite_FWD_DEFINED__ */


#ifndef __IControl_FWD_DEFINED__
#define __IControl_FWD_DEFINED__
typedef interface IControl IControl;
#endif 	/* __IControl_FWD_DEFINED__ */


#ifndef __ILayer_FWD_DEFINED__
#define __ILayer_FWD_DEFINED__
typedef interface ILayer ILayer;
#endif 	/* __ILayer_FWD_DEFINED__ */


#ifndef __ILayerRender_FWD_DEFINED__
#define __ILayerRender_FWD_DEFINED__
typedef interface ILayerRender ILayerRender;
#endif 	/* __ILayerRender_FWD_DEFINED__ */


#ifndef __ILayerMouse_FWD_DEFINED__
#define __ILayerMouse_FWD_DEFINED__
typedef interface ILayerMouse ILayerMouse;
#endif 	/* __ILayerMouse_FWD_DEFINED__ */


#ifndef __ILayerKeyboard_FWD_DEFINED__
#define __ILayerKeyboard_FWD_DEFINED__
typedef interface ILayerKeyboard ILayerKeyboard;
#endif 	/* __ILayerKeyboard_FWD_DEFINED__ */


#ifndef __ILayerPopup_FWD_DEFINED__
#define __ILayerPopup_FWD_DEFINED__
typedef interface ILayerPopup ILayerPopup;
#endif 	/* __ILayerPopup_FWD_DEFINED__ */


#ifndef __ILayerSchema_FWD_DEFINED__
#define __ILayerSchema_FWD_DEFINED__
typedef interface ILayerSchema ILayerSchema;
#endif 	/* __ILayerSchema_FWD_DEFINED__ */


#ifndef __ILayerTimer_FWD_DEFINED__
#define __ILayerTimer_FWD_DEFINED__
typedef interface ILayerTimer ILayerTimer;
#endif 	/* __ILayerTimer_FWD_DEFINED__ */


#ifndef __IControlEvents_FWD_DEFINED__
#define __IControlEvents_FWD_DEFINED__
typedef interface IControlEvents IControlEvents;
#endif 	/* __IControlEvents_FWD_DEFINED__ */


#ifndef __IIconCache_FWD_DEFINED__
#define __IIconCache_FWD_DEFINED__
typedef interface IIconCache IIconCache;
#endif 	/* __IIconCache_FWD_DEFINED__ */


#ifndef __IImageCacheDisp_FWD_DEFINED__
#define __IImageCacheDisp_FWD_DEFINED__
typedef interface IImageCacheDisp IImageCacheDisp;
#endif 	/* __IImageCacheDisp_FWD_DEFINED__ */


#ifndef __IImageCache_FWD_DEFINED__
#define __IImageCache_FWD_DEFINED__
typedef interface IImageCache IImageCache;
#endif 	/* __IImageCache_FWD_DEFINED__ */


#ifndef __IFontCacheDisp_FWD_DEFINED__
#define __IFontCacheDisp_FWD_DEFINED__
typedef interface IFontCacheDisp IFontCacheDisp;
#endif 	/* __IFontCacheDisp_FWD_DEFINED__ */


#ifndef __IFontCache_FWD_DEFINED__
#define __IFontCache_FWD_DEFINED__
typedef interface IFontCache IFontCache;
#endif 	/* __IFontCache_FWD_DEFINED__ */


#ifndef __IBarManager_FWD_DEFINED__
#define __IBarManager_FWD_DEFINED__
typedef interface IBarManager IBarManager;
#endif 	/* __IBarManager_FWD_DEFINED__ */


#ifndef __ISimpleBar_FWD_DEFINED__
#define __ISimpleBar_FWD_DEFINED__
typedef interface ISimpleBar ISimpleBar;
#endif 	/* __ISimpleBar_FWD_DEFINED__ */


#ifndef __IRootLayer_FWD_DEFINED__
#define __IRootLayer_FWD_DEFINED__
typedef interface IRootLayer IRootLayer;
#endif 	/* __IRootLayer_FWD_DEFINED__ */


#ifndef __IPanelSink_FWD_DEFINED__
#define __IPanelSink_FWD_DEFINED__
typedef interface IPanelSink IPanelSink;
#endif 	/* __IPanelSink_FWD_DEFINED__ */


#ifndef __IInputNotify_FWD_DEFINED__
#define __IInputNotify_FWD_DEFINED__
typedef interface IInputNotify IInputNotify;
#endif 	/* __IInputNotify_FWD_DEFINED__ */


#ifndef __IMessageMember_FWD_DEFINED__
#define __IMessageMember_FWD_DEFINED__
typedef interface IMessageMember IMessageMember;
#endif 	/* __IMessageMember_FWD_DEFINED__ */


#ifndef __IMessage_FWD_DEFINED__
#define __IMessage_FWD_DEFINED__
typedef interface IMessage IMessage;
#endif 	/* __IMessage_FWD_DEFINED__ */


#ifndef __IWindowsMessageSink_FWD_DEFINED__
#define __IWindowsMessageSink_FWD_DEFINED__
typedef interface IWindowsMessageSink IWindowsMessageSink;
#endif 	/* __IWindowsMessageSink_FWD_DEFINED__ */


#ifndef __ICommandEvents_FWD_DEFINED__
#define __ICommandEvents_FWD_DEFINED__
typedef interface ICommandEvents ICommandEvents;
#endif 	/* __ICommandEvents_FWD_DEFINED__ */


#ifndef __IPagerEvents_FWD_DEFINED__
#define __IPagerEvents_FWD_DEFINED__
typedef interface IPagerEvents IPagerEvents;
#endif 	/* __IPagerEvents_FWD_DEFINED__ */


#ifndef __IViewEvents_FWD_DEFINED__
#define __IViewEvents_FWD_DEFINED__
typedef interface IViewEvents IViewEvents;
#endif 	/* __IViewEvents_FWD_DEFINED__ */


#ifndef __IInputEvents_FWD_DEFINED__
#define __IInputEvents_FWD_DEFINED__
typedef interface IInputEvents IInputEvents;
#endif 	/* __IInputEvents_FWD_DEFINED__ */


#ifndef __IViewDisp_FWD_DEFINED__
#define __IViewDisp_FWD_DEFINED__
typedef interface IViewDisp IViewDisp;
#endif 	/* __IViewDisp_FWD_DEFINED__ */


#ifndef __Canvas_FWD_DEFINED__
#define __Canvas_FWD_DEFINED__

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

#endif 	/* __Canvas_FWD_DEFINED__ */


#ifndef __PluginSite_FWD_DEFINED__
#define __PluginSite_FWD_DEFINED__

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

#endif 	/* __PluginSite_FWD_DEFINED__ */


#ifndef __Layer_FWD_DEFINED__
#define __Layer_FWD_DEFINED__

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

#endif 	/* __Layer_FWD_DEFINED__ */


#ifndef __View_FWD_DEFINED__
#define __View_FWD_DEFINED__

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

#endif 	/* __View_FWD_DEFINED__ */


#ifndef __Button_FWD_DEFINED__
#define __Button_FWD_DEFINED__

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

#endif 	/* __Button_FWD_DEFINED__ */


#ifndef __Pager_FWD_DEFINED__
#define __Pager_FWD_DEFINED__

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

#endif 	/* __Pager_FWD_DEFINED__ */


#ifndef __BrushImage_FWD_DEFINED__
#define __BrushImage_FWD_DEFINED__

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

#endif 	/* __BrushImage_FWD_DEFINED__ */


#ifndef __InputBuffer_FWD_DEFINED__
#define __InputBuffer_FWD_DEFINED__

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

#endif 	/* __InputBuffer_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 

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

/* interface __MIDL_itf_Inject_0000 */
/* [local] */ 














struct ClipParams
    {
    RECT window;
    POINT org;
    VARIANT_BOOL visible;
    };

enum eRenderOptions
    {	eRenderClipped	= 0x1,
	eRenderNext	= 0x2,
	eRenderTransparent	= 0x8,
	eRenderReformatNext	= 0x20
    };

enum eFontOptions
    {	eFontBold	= 0x1,
	eFontItalic	= 0x2,
	eFontUnderline	= 0x4
    };

enum eDefaultControlType
    {	eCtlButton	= 0,
	eCtlPager	= eCtlButton + 1
    };

enum ePositionType
    {	ePositionByIndex	= 0,
	ePositionByID	= ePositionByIndex + 1
    };
struct LayerParams
    {
    long ID;
    RECT pos;
    long render;
    };
struct ViewParams
    {
    long icon;
    long iconLibrary;
    BSTR label;
    long left;
    long top;
    long width;
    long height;
    long alpha;
    };
struct MouseState
    {
    ILayer __RPC_FAR *over;
    POINT screen;
    POINT client;
    VARIANT_BOOL ctrl;
    VARIANT_BOOL shift;
    };
struct KeyState
    {
    short vkey;
    VARIANT_BOOL ctrl;
    VARIANT_BOOL shift;
    };

enum eMouseInput
    {	eMouseLeftClick	= 0,
	eMouseRightClick	= eMouseLeftClick + 1,
	eMouseLeftDoubleClick	= eMouseRightClick + 1,
	eMouseRightDoubleClick	= eMouseLeftDoubleClick + 1
    };

enum eInputStatus
    {	eInputIdle	= 0,
	eInputWaiting	= eInputIdle + 1,
	eInputRunning	= eInputWaiting + 1,
	eInputPaused	= eInputRunning + 1
    };


extern RPC_IF_HANDLE __MIDL_itf_Inject_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_Inject_0000_v0_0_s_ifspec;

#ifndef __IManager_INTERFACE_DEFINED__
#define __IManager_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BC63C4A7-BE01-400D-908D-0747B06C8062")
    IManager : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadPlugin( 
            REFCLSID clsidPlugin) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnloadPlugin( 
            REFCLSID clsidPlugin) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IManager __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IManager __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IManager __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadPlugin )( 
            IManager __RPC_FAR * This,
            REFCLSID clsidPlugin);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnloadPlugin )( 
            IManager __RPC_FAR * This,
            REFCLSID clsidPlugin);
        
        END_INTERFACE
    } IManagerVtbl;

    interface IManager
    {
        CONST_VTBL struct IManagerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IManager_LoadPlugin(This,clsidPlugin)	\
    (This)->lpVtbl -> LoadPlugin(This,clsidPlugin)

#define IManager_UnloadPlugin(This,clsidPlugin)	\
    (This)->lpVtbl -> UnloadPlugin(This,clsidPlugin)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IManager_LoadPlugin_Proxy( 
    IManager __RPC_FAR * This,
    REFCLSID clsidPlugin);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IManager_UnloadPlugin_Proxy( 
    IManager __RPC_FAR * This,
    REFCLSID clsidPlugin);


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



#endif 	/* __IManager_INTERFACE_DEFINED__ */


#ifndef __IPluginSite_INTERFACE_DEFINED__
#define __IPluginSite_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IPluginSite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("702D3901-C13A-448e-8871-ECDC8BC8D079")
    IPluginSite : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnloadPlugin( 
            long nID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDirectDraw( 
            REFIID iid,
            /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPrimarySurface( 
            /* [retval][out] */ ICanvas __RPC_FAR *__RPC_FAR *ppPrimary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Get3DDevice( 
            REFIID iid,
            /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadBitmapFile( 
            BSTR strFilename,
            /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIconCache( 
            LPSIZE psz,
            /* [retval][out] */ IIconCache __RPC_FAR *__RPC_FAR *ppCache) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadBitmapPortal( 
            long nFile,
            IImageCache __RPC_FAR *__RPC_FAR *__MIDL_0011) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFont( 
            BSTR szFaceName,
            long nHeight,
            long dwFlags,
            /* [retval][out] */ IFontCache __RPC_FAR *__RPC_FAR *ppFont) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScreenSize( 
            LPSIZE sz) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateCanvas( 
            LPSIZE psz,
            /* [retval][out] */ ICanvas __RPC_FAR *__RPC_FAR *ppCanvas) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateView( 
            struct ViewParams __RPC_FAR *pParams,
            ILayer __RPC_FAR *pLayer,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadView( 
            BSTR strSchema,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBrushImage( 
            long nColor,
            /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImg) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadImageSchema( 
            IUnknown __RPC_FAR *pSchema,
            /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImg) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFontSchema( 
            long nDefHeight,
            long nDefOptions,
            IUnknown __RPC_FAR *pSchema,
            /* [retval][out] */ IFontCache __RPC_FAR *__RPC_FAR *ppCache) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadResourceModule( 
            BSTR strLibrary,
            /* [retval][out] */ long __RPC_FAR *pnModule) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ResourcePath( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Plugin( 
            BSTR strProgID,
            /* [retval][out] */ IPlugin __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NetworkFilter( 
            BSTR strProgID,
            /* [retval][out] */ INetworkFilter __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadViewObject( 
            IUnknown __RPC_FAR *pSchema,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateInputBuffer( 
            /* [retval][out] */ IInputBuffer __RPC_FAR *__RPC_FAR *ppInput) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HWND( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Focus( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OldWndProc( 
            /* [retval][out] */ long __RPC_FAR *pOldWndProc) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentSelection( 
            /* [in] */ long nID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentSelection( 
            /* [retval][out] */ long __RPC_FAR *nID) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PreviousSelection( 
            /* [in] */ long nID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PreviousSelection( 
            /* [retval][out] */ long __RPC_FAR *nID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteToChatWindow( 
            BSTR szText,
            /* [defaultvalue][optional] */ long lColor = 0) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCursorPosition( 
            long x,
            long y) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryKeyboardMap( 
            BSTR bstrName,
            long __RPC_FAR *pAsciiVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPluginSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPluginSite __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPluginSite __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPluginSite __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnloadPlugin )( 
            IPluginSite __RPC_FAR * This,
            long nID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDirectDraw )( 
            IPluginSite __RPC_FAR * This,
            REFIID iid,
            /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPrimarySurface )( 
            IPluginSite __RPC_FAR * This,
            /* [retval][out] */ ICanvas __RPC_FAR *__RPC_FAR *ppPrimary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Get3DDevice )( 
            IPluginSite __RPC_FAR * This,
            REFIID iid,
            /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadBitmapFile )( 
            IPluginSite __RPC_FAR * This,
            BSTR strFilename,
            /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIconCache )( 
            IPluginSite __RPC_FAR * This,
            LPSIZE psz,
            /* [retval][out] */ IIconCache __RPC_FAR *__RPC_FAR *ppCache);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadBitmapPortal )( 
            IPluginSite __RPC_FAR * This,
            long nFile,
            IImageCache __RPC_FAR *__RPC_FAR *__MIDL_0011);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFont )( 
            IPluginSite __RPC_FAR * This,
            BSTR szFaceName,
            long nHeight,
            long dwFlags,
            /* [retval][out] */ IFontCache __RPC_FAR *__RPC_FAR *ppFont);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScreenSize )( 
            IPluginSite __RPC_FAR * This,
            LPSIZE sz);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateCanvas )( 
            IPluginSite __RPC_FAR * This,
            LPSIZE psz,
            /* [retval][out] */ ICanvas __RPC_FAR *__RPC_FAR *ppCanvas);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateView )( 
            IPluginSite __RPC_FAR * This,
            struct ViewParams __RPC_FAR *pParams,
            ILayer __RPC_FAR *pLayer,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadView )( 
            IPluginSite __RPC_FAR * This,
            BSTR strSchema,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateBrushImage )( 
            IPluginSite __RPC_FAR * This,
            long nColor,
            /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImg);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadImageSchema )( 
            IPluginSite __RPC_FAR * This,
            IUnknown __RPC_FAR *pSchema,
            /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImg);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFontSchema )( 
            IPluginSite __RPC_FAR * This,
            long nDefHeight,
            long nDefOptions,
            IUnknown __RPC_FAR *pSchema,
            /* [retval][out] */ IFontCache __RPC_FAR *__RPC_FAR *ppCache);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadResourceModule )( 
            IPluginSite __RPC_FAR * This,
            BSTR strLibrary,
            /* [retval][out] */ long __RPC_FAR *pnModule);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ResourcePath )( 
            IPluginSite __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Plugin )( 
            IPluginSite __RPC_FAR * This,
            BSTR strProgID,
            /* [retval][out] */ IPlugin __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NetworkFilter )( 
            IPluginSite __RPC_FAR * This,
            BSTR strProgID,
            /* [retval][out] */ INetworkFilter __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadViewObject )( 
            IPluginSite __RPC_FAR * This,
            IUnknown __RPC_FAR *pSchema,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateInputBuffer )( 
            IPluginSite __RPC_FAR * This,
            /* [retval][out] */ IInputBuffer __RPC_FAR *__RPC_FAR *ppInput);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HWND )( 
            IPluginSite __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Focus )( 
            IPluginSite __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OldWndProc )( 
            IPluginSite __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pOldWndProc);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CurrentSelection )( 
            IPluginSite __RPC_FAR * This,
            /* [in] */ long nID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentSelection )( 
            IPluginSite __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *nID);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PreviousSelection )( 
            IPluginSite __RPC_FAR * This,
            /* [in] */ long nID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PreviousSelection )( 
            IPluginSite __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *nID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteToChatWindow )( 
            IPluginSite __RPC_FAR * This,
            BSTR szText,
            /* [defaultvalue][optional] */ long lColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCursorPosition )( 
            IPluginSite __RPC_FAR * This,
            long x,
            long y);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryKeyboardMap )( 
            IPluginSite __RPC_FAR * This,
            BSTR bstrName,
            long __RPC_FAR *pAsciiVal);
        
        END_INTERFACE
    } IPluginSiteVtbl;

    interface IPluginSite
    {
        CONST_VTBL struct IPluginSiteVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPluginSite_UnloadPlugin(This,nID)	\
    (This)->lpVtbl -> UnloadPlugin(This,nID)

#define IPluginSite_GetDirectDraw(This,iid,ppvItf)	\
    (This)->lpVtbl -> GetDirectDraw(This,iid,ppvItf)

#define IPluginSite_GetPrimarySurface(This,ppPrimary)	\
    (This)->lpVtbl -> GetPrimarySurface(This,ppPrimary)

#define IPluginSite_Get3DDevice(This,iid,ppvItf)	\
    (This)->lpVtbl -> Get3DDevice(This,iid,ppvItf)

#define IPluginSite_LoadBitmapFile(This,strFilename,ppImage)	\
    (This)->lpVtbl -> LoadBitmapFile(This,strFilename,ppImage)

#define IPluginSite_GetIconCache(This,psz,ppCache)	\
    (This)->lpVtbl -> GetIconCache(This,psz,ppCache)

#define IPluginSite_LoadBitmapPortal(This,nFile,__MIDL_0011)	\
    (This)->lpVtbl -> LoadBitmapPortal(This,nFile,__MIDL_0011)

#define IPluginSite_CreateFont(This,szFaceName,nHeight,dwFlags,ppFont)	\
    (This)->lpVtbl -> CreateFont(This,szFaceName,nHeight,dwFlags,ppFont)

#define IPluginSite_GetScreenSize(This,sz)	\
    (This)->lpVtbl -> GetScreenSize(This,sz)

#define IPluginSite_CreateCanvas(This,psz,ppCanvas)	\
    (This)->lpVtbl -> CreateCanvas(This,psz,ppCanvas)

#define IPluginSite_CreateView(This,pParams,pLayer,ppView)	\
    (This)->lpVtbl -> CreateView(This,pParams,pLayer,ppView)

#define IPluginSite_LoadView(This,strSchema,ppView)	\
    (This)->lpVtbl -> LoadView(This,strSchema,ppView)

#define IPluginSite_CreateBrushImage(This,nColor,ppImg)	\
    (This)->lpVtbl -> CreateBrushImage(This,nColor,ppImg)

#define IPluginSite_LoadImageSchema(This,pSchema,ppImg)	\
    (This)->lpVtbl -> LoadImageSchema(This,pSchema,ppImg)

#define IPluginSite_CreateFontSchema(This,nDefHeight,nDefOptions,pSchema,ppCache)	\
    (This)->lpVtbl -> CreateFontSchema(This,nDefHeight,nDefOptions,pSchema,ppCache)

#define IPluginSite_LoadResourceModule(This,strLibrary,pnModule)	\
    (This)->lpVtbl -> LoadResourceModule(This,strLibrary,pnModule)

#define IPluginSite_get_ResourcePath(This,pVal)	\
    (This)->lpVtbl -> get_ResourcePath(This,pVal)

#define IPluginSite_get_Plugin(This,strProgID,pVal)	\
    (This)->lpVtbl -> get_Plugin(This,strProgID,pVal)

#define IPluginSite_get_NetworkFilter(This,strProgID,pVal)	\
    (This)->lpVtbl -> get_NetworkFilter(This,strProgID,pVal)

#define IPluginSite_LoadViewObject(This,pSchema,ppView)	\
    (This)->lpVtbl -> LoadViewObject(This,pSchema,ppView)

#define IPluginSite_CreateInputBuffer(This,ppInput)	\
    (This)->lpVtbl -> CreateInputBuffer(This,ppInput)

#define IPluginSite_get_HWND(This,pVal)	\
    (This)->lpVtbl -> get_HWND(This,pVal)

#define IPluginSite_get_Focus(This,pVal)	\
    (This)->lpVtbl -> get_Focus(This,pVal)

#define IPluginSite_get_OldWndProc(This,pOldWndProc)	\
    (This)->lpVtbl -> get_OldWndProc(This,pOldWndProc)

#define IPluginSite_put_CurrentSelection(This,nID)	\
    (This)->lpVtbl -> put_CurrentSelection(This,nID)

#define IPluginSite_get_CurrentSelection(This,nID)	\
    (This)->lpVtbl -> get_CurrentSelection(This,nID)

#define IPluginSite_put_PreviousSelection(This,nID)	\
    (This)->lpVtbl -> put_PreviousSelection(This,nID)

#define IPluginSite_get_PreviousSelection(This,nID)	\
    (This)->lpVtbl -> get_PreviousSelection(This,nID)

#define IPluginSite_WriteToChatWindow(This,szText,lColor)	\
    (This)->lpVtbl -> WriteToChatWindow(This,szText,lColor)

#define IPluginSite_SetCursorPosition(This,x,y)	\
    (This)->lpVtbl -> SetCursorPosition(This,x,y)

#define IPluginSite_QueryKeyboardMap(This,bstrName,pAsciiVal)	\
    (This)->lpVtbl -> QueryKeyboardMap(This,bstrName,pAsciiVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_UnloadPlugin_Proxy( 
    IPluginSite __RPC_FAR * This,
    long nID);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_GetDirectDraw_Proxy( 
    IPluginSite __RPC_FAR * This,
    REFIID iid,
    /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_GetPrimarySurface_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [retval][out] */ ICanvas __RPC_FAR *__RPC_FAR *ppPrimary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_Get3DDevice_Proxy( 
    IPluginSite __RPC_FAR * This,
    REFIID iid,
    /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_LoadBitmapFile_Proxy( 
    IPluginSite __RPC_FAR * This,
    BSTR strFilename,
    /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImage);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_GetIconCache_Proxy( 
    IPluginSite __RPC_FAR * This,
    LPSIZE psz,
    /* [retval][out] */ IIconCache __RPC_FAR *__RPC_FAR *ppCache);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_LoadBitmapPortal_Proxy( 
    IPluginSite __RPC_FAR * This,
    long nFile,
    IImageCache __RPC_FAR *__RPC_FAR *__MIDL_0011);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_CreateFont_Proxy( 
    IPluginSite __RPC_FAR * This,
    BSTR szFaceName,
    long nHeight,
    long dwFlags,
    /* [retval][out] */ IFontCache __RPC_FAR *__RPC_FAR *ppFont);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_GetScreenSize_Proxy( 
    IPluginSite __RPC_FAR * This,
    LPSIZE sz);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_CreateCanvas_Proxy( 
    IPluginSite __RPC_FAR * This,
    LPSIZE psz,
    /* [retval][out] */ ICanvas __RPC_FAR *__RPC_FAR *ppCanvas);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_CreateView_Proxy( 
    IPluginSite __RPC_FAR * This,
    struct ViewParams __RPC_FAR *pParams,
    ILayer __RPC_FAR *pLayer,
    /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_LoadView_Proxy( 
    IPluginSite __RPC_FAR * This,
    BSTR strSchema,
    /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_CreateBrushImage_Proxy( 
    IPluginSite __RPC_FAR * This,
    long nColor,
    /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImg);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_LoadImageSchema_Proxy( 
    IPluginSite __RPC_FAR * This,
    IUnknown __RPC_FAR *pSchema,
    /* [retval][out] */ IImageCache __RPC_FAR *__RPC_FAR *ppImg);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_CreateFontSchema_Proxy( 
    IPluginSite __RPC_FAR * This,
    long nDefHeight,
    long nDefOptions,
    IUnknown __RPC_FAR *pSchema,
    /* [retval][out] */ IFontCache __RPC_FAR *__RPC_FAR *ppCache);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_LoadResourceModule_Proxy( 
    IPluginSite __RPC_FAR * This,
    BSTR strLibrary,
    /* [retval][out] */ long __RPC_FAR *pnModule);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPluginSite_get_ResourcePath_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPluginSite_get_Plugin_Proxy( 
    IPluginSite __RPC_FAR * This,
    BSTR strProgID,
    /* [retval][out] */ IPlugin __RPC_FAR *__RPC_FAR *pVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPluginSite_get_NetworkFilter_Proxy( 
    IPluginSite __RPC_FAR * This,
    BSTR strProgID,
    /* [retval][out] */ INetworkFilter __RPC_FAR *__RPC_FAR *pVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_LoadViewObject_Proxy( 
    IPluginSite __RPC_FAR * This,
    IUnknown __RPC_FAR *pSchema,
    /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_CreateInputBuffer_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [retval][out] */ IInputBuffer __RPC_FAR *__RPC_FAR *ppInput);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPluginSite_get_HWND_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPluginSite_get_Focus_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPluginSite_get_OldWndProc_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pOldWndProc);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IPluginSite_put_CurrentSelection_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [in] */ long nID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPluginSite_get_CurrentSelection_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *nID);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IPluginSite_put_PreviousSelection_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [in] */ long nID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPluginSite_get_PreviousSelection_Proxy( 
    IPluginSite __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *nID);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_WriteToChatWindow_Proxy( 
    IPluginSite __RPC_FAR * This,
    BSTR szText,
    /* [defaultvalue][optional] */ long lColor);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_SetCursorPosition_Proxy( 
    IPluginSite __RPC_FAR * This,
    long x,
    long y);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSite_QueryKeyboardMap_Proxy( 
    IPluginSite __RPC_FAR * This,
    BSTR bstrName,
    long __RPC_FAR *pAsciiVal);


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



#endif 	/* __IPluginSite_INTERFACE_DEFINED__ */


#ifndef __IPluginSink_INTERFACE_DEFINED__
#define __IPluginSink_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IPluginSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D216BA6C-D328-4765-B40A-9BC57C96F75E")
    IPluginSink : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChatText( 
            BSTR bstrMsg,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChatMessage( 
            BSTR bstrMsg,
            long __RPC_FAR *pColor,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPluginSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPluginSink __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPluginSink __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPluginSink __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChatText )( 
            IPluginSink __RPC_FAR * This,
            BSTR bstrMsg,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChatMessage )( 
            IPluginSink __RPC_FAR * This,
            BSTR bstrMsg,
            long __RPC_FAR *pColor,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat);
        
        END_INTERFACE
    } IPluginSinkVtbl;

    interface IPluginSink
    {
        CONST_VTBL struct IPluginSinkVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPluginSink_ChatText(This,bstrMsg,pbEat)	\
    (This)->lpVtbl -> ChatText(This,bstrMsg,pbEat)

#define IPluginSink_ChatMessage(This,bstrMsg,pColor,pbEat)	\
    (This)->lpVtbl -> ChatMessage(This,bstrMsg,pColor,pbEat)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSink_ChatText_Proxy( 
    IPluginSink __RPC_FAR * This,
    BSTR bstrMsg,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPluginSink_ChatMessage_Proxy( 
    IPluginSink __RPC_FAR * This,
    BSTR bstrMsg,
    long __RPC_FAR *pColor,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat);


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



#endif 	/* __IPluginSink_INTERFACE_DEFINED__ */


#ifndef __IPlugin_INTERFACE_DEFINED__
#define __IPlugin_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IPlugin;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BA3E677F-8E44-4829-982E-58BBBC5C5F9B")
    IPlugin : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            IPluginSite __RPC_FAR *pSite,
            long nID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FriendlyName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPluginVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlugin __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlugin __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlugin __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )( 
            IPlugin __RPC_FAR * This,
            IPluginSite __RPC_FAR *pSite,
            long nID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Terminate )( 
            IPlugin __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FriendlyName )( 
            IPlugin __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        END_INTERFACE
    } IPluginVtbl;

    interface IPlugin
    {
        CONST_VTBL struct IPluginVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlugin_Initialize(This,pSite,nID)	\
    (This)->lpVtbl -> Initialize(This,pSite,nID)

#define IPlugin_Terminate(This)	\
    (This)->lpVtbl -> Terminate(This)

#define IPlugin_get_FriendlyName(This,pVal)	\
    (This)->lpVtbl -> get_FriendlyName(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPlugin_Initialize_Proxy( 
    IPlugin __RPC_FAR * This,
    IPluginSite __RPC_FAR *pSite,
    long nID);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPlugin_Terminate_Proxy( 
    IPlugin __RPC_FAR * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPlugin_get_FriendlyName_Proxy( 
    IPlugin __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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



#endif 	/* __IPlugin_INTERFACE_DEFINED__ */


#ifndef __IControl_INTERFACE_DEFINED__
#define __IControl_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("996B377C-1953-4db1-AAC1-157F72592D3E")
    IControl : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DestroyChild( 
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType = ePositionByIndex) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChildCount( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Child( 
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType,
            /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IControl __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IControl __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IControl __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IControl __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IControl __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IControl __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IControl __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DestroyChild )( 
            IControl __RPC_FAR * This,
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            IControl __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ChildCount )( 
            IControl __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Child )( 
            IControl __RPC_FAR * This,
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType,
            /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal);
        
        END_INTERFACE
    } IControlVtbl;

    interface IControl
    {
        CONST_VTBL struct IControlVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IControl_DestroyChild(This,nIndex,posType)	\
    (This)->lpVtbl -> DestroyChild(This,nIndex,posType)

#define IControl_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IControl_get_ChildCount(This,pVal)	\
    (This)->lpVtbl -> get_ChildCount(This,pVal)

#define IControl_get_Child(This,nIndex,posType,pVal)	\
    (This)->lpVtbl -> get_Child(This,nIndex,posType,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IControl_DestroyChild_Proxy( 
    IControl __RPC_FAR * This,
    long nIndex,
    /* [defaultvalue] */ enum ePositionType posType);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IControl_get_ID_Proxy( 
    IControl __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IControl_get_ChildCount_Proxy( 
    IControl __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IControl_get_Child_Proxy( 
    IControl __RPC_FAR * This,
    long nIndex,
    /* [defaultvalue] */ enum ePositionType posType,
    /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal);


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



#endif 	/* __IControl_INTERFACE_DEFINED__ */


#ifndef __ILayer_INTERFACE_DEFINED__
#define __ILayer_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ILayer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0D63504F-DEEF-4a2d-9742-28DD1BADDA7C")
    ILayer : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LayerCreate( 
            ILayerSite __RPC_FAR *pSite) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LayerDestroy( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ RECT __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ RECT __RPC_FAR *newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILayerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILayer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILayer __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILayer __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LayerCreate )( 
            ILayer __RPC_FAR * This,
            ILayerSite __RPC_FAR *pSite);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LayerDestroy )( 
            ILayer __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Position )( 
            ILayer __RPC_FAR * This,
            /* [retval][out] */ RECT __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Position )( 
            ILayer __RPC_FAR * This,
            /* [in] */ RECT __RPC_FAR *newVal);
        
        END_INTERFACE
    } ILayerVtbl;

    interface ILayer
    {
        CONST_VTBL struct ILayerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ILayer_LayerCreate(This,pSite)	\
    (This)->lpVtbl -> LayerCreate(This,pSite)

#define ILayer_LayerDestroy(This)	\
    (This)->lpVtbl -> LayerDestroy(This)

#define ILayer_get_Position(This,pVal)	\
    (This)->lpVtbl -> get_Position(This,pVal)

#define ILayer_put_Position(This,newVal)	\
    (This)->lpVtbl -> put_Position(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayer_LayerCreate_Proxy( 
    ILayer __RPC_FAR * This,
    ILayerSite __RPC_FAR *pSite);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayer_LayerDestroy_Proxy( 
    ILayer __RPC_FAR * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ILayer_get_Position_Proxy( 
    ILayer __RPC_FAR * This,
    /* [retval][out] */ RECT __RPC_FAR *__RPC_FAR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ILayer_put_Position_Proxy( 
    ILayer __RPC_FAR * This,
    /* [in] */ RECT __RPC_FAR *newVal);


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



#endif 	/* __ILayer_INTERFACE_DEFINED__ */


#ifndef __ILayerRender_INTERFACE_DEFINED__
#define __ILayerRender_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ILayerRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D1C71B85-62C2-42a3-AE2E-4BF5A6BE1784")
    ILayerRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PreRender( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Render( 
            ICanvas __RPC_FAR *pDest) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reformat( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AdjustRenderArea( 
            ICanvas __RPC_FAR *pDest,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HitTest( 
            LPPOINT pt,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHit) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILayerRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILayerRender __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILayerRender __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILayerRender __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PreRender )( 
            ILayerRender __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Render )( 
            ILayerRender __RPC_FAR * This,
            ICanvas __RPC_FAR *pDest);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reformat )( 
            ILayerRender __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AdjustRenderArea )( 
            ILayerRender __RPC_FAR * This,
            ICanvas __RPC_FAR *pDest,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HitTest )( 
            ILayerRender __RPC_FAR * This,
            LPPOINT pt,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHit);
        
        END_INTERFACE
    } ILayerRenderVtbl;

    interface ILayerRender
    {
        CONST_VTBL struct ILayerRenderVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ILayerRender_PreRender(This)	\
    (This)->lpVtbl -> PreRender(This)

#define ILayerRender_Render(This,pDest)	\
    (This)->lpVtbl -> Render(This,pDest)

#define ILayerRender_Reformat(This)	\
    (This)->lpVtbl -> Reformat(This)

#define ILayerRender_AdjustRenderArea(This,pDest,pbVisible)	\
    (This)->lpVtbl -> AdjustRenderArea(This,pDest,pbVisible)

#define ILayerRender_HitTest(This,pt,pbHit)	\
    (This)->lpVtbl -> HitTest(This,pt,pbHit)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerRender_PreRender_Proxy( 
    ILayerRender __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerRender_Render_Proxy( 
    ILayerRender __RPC_FAR * This,
    ICanvas __RPC_FAR *pDest);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerRender_Reformat_Proxy( 
    ILayerRender __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerRender_AdjustRenderArea_Proxy( 
    ILayerRender __RPC_FAR * This,
    ICanvas __RPC_FAR *pDest,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerRender_HitTest_Proxy( 
    ILayerRender __RPC_FAR * This,
    LPPOINT pt,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHit);


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



#endif 	/* __ILayerRender_INTERFACE_DEFINED__ */


#ifndef __ILayerSite_INTERFACE_DEFINED__
#define __ILayerSite_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ILayerSite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5B7E9D99-BB3A-475D-842D-43EBEA8284EA")
    ILayerSite : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateChild( 
            struct LayerParams __RPC_FAR *params,
            ILayer __RPC_FAR *pSink) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSink( 
            REFIID iid,
            /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Invalidate( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PluginSite( 
            /* [retval][out] */ IPluginSite __RPC_FAR *__RPC_FAR *ppSite) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reformat( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParentSink( 
            REFIID iid,
            /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ LPRECT pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ LPRECT newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ChildCount( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Child( 
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType,
            /* [retval][out] */ ILayerSite __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CaptureKeyboard( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsChild( 
            ILayerSite __RPC_FAR *pSite,
            /* [defaultvalue][optional] */ VARIANT_BOOL bTestUnclipped,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbIsChild) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Popup( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScreenPosition( 
            /* [retval][out] */ LPRECT pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartTimer( 
            long nID,
            long nInterval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EndTimer( 
            long nID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Transparent( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Transparent( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Alpha( 
            long Alpha) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILayerSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILayerSite __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILayerSite __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILayerSite __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Destroy )( 
            ILayerSite __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateChild )( 
            ILayerSite __RPC_FAR * This,
            struct LayerParams __RPC_FAR *params,
            ILayer __RPC_FAR *pSink);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSink )( 
            ILayerSite __RPC_FAR * This,
            REFIID iid,
            /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invalidate )( 
            ILayerSite __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PluginSite )( 
            ILayerSite __RPC_FAR * This,
            /* [retval][out] */ IPluginSite __RPC_FAR *__RPC_FAR *ppSite);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reformat )( 
            ILayerSite __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetParentSink )( 
            ILayerSite __RPC_FAR * This,
            REFIID iid,
            /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Position )( 
            ILayerSite __RPC_FAR * This,
            /* [retval][out] */ LPRECT pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Position )( 
            ILayerSite __RPC_FAR * This,
            /* [in] */ LPRECT newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            ILayerSite __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ChildCount )( 
            ILayerSite __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Child )( 
            ILayerSite __RPC_FAR * This,
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType,
            /* [retval][out] */ ILayerSite __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CaptureKeyboard )( 
            ILayerSite __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsChild )( 
            ILayerSite __RPC_FAR * This,
            ILayerSite __RPC_FAR *pSite,
            /* [defaultvalue][optional] */ VARIANT_BOOL bTestUnclipped,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbIsChild);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Popup )( 
            ILayerSite __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScreenPosition )( 
            ILayerSite __RPC_FAR * This,
            /* [retval][out] */ LPRECT pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartTimer )( 
            ILayerSite __RPC_FAR * This,
            long nID,
            long nInterval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndTimer )( 
            ILayerSite __RPC_FAR * This,
            long nID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Transparent )( 
            ILayerSite __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Transparent )( 
            ILayerSite __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Alpha )( 
            ILayerSite __RPC_FAR * This,
            long Alpha);
        
        END_INTERFACE
    } ILayerSiteVtbl;

    interface ILayerSite
    {
        CONST_VTBL struct ILayerSiteVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#define ILayerSite_CreateChild(This,params,pSink)	\
    (This)->lpVtbl -> CreateChild(This,params,pSink)

#define ILayerSite_GetSink(This,iid,ppvItf)	\
    (This)->lpVtbl -> GetSink(This,iid,ppvItf)

#define ILayerSite_Invalidate(This)	\
    (This)->lpVtbl -> Invalidate(This)

#define ILayerSite_get_PluginSite(This,ppSite)	\
    (This)->lpVtbl -> get_PluginSite(This,ppSite)

#define ILayerSite_Reformat(This)	\
    (This)->lpVtbl -> Reformat(This)

#define ILayerSite_GetParentSink(This,iid,ppvItf)	\
    (This)->lpVtbl -> GetParentSink(This,iid,ppvItf)

#define ILayerSite_get_Position(This,pVal)	\
    (This)->lpVtbl -> get_Position(This,pVal)

#define ILayerSite_put_Position(This,newVal)	\
    (This)->lpVtbl -> put_Position(This,newVal)

#define ILayerSite_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define ILayerSite_get_ChildCount(This,pVal)	\
    (This)->lpVtbl -> get_ChildCount(This,pVal)

#define ILayerSite_get_Child(This,nIndex,posType,pVal)	\
    (This)->lpVtbl -> get_Child(This,nIndex,posType,pVal)

#define ILayerSite_CaptureKeyboard(This)	\
    (This)->lpVtbl -> CaptureKeyboard(This)

#define ILayerSite_IsChild(This,pSite,bTestUnclipped,pbIsChild)	\
    (This)->lpVtbl -> IsChild(This,pSite,bTestUnclipped,pbIsChild)

#define ILayerSite_put_Popup(This,newVal)	\
    (This)->lpVtbl -> put_Popup(This,newVal)

#define ILayerSite_get_ScreenPosition(This,pVal)	\
    (This)->lpVtbl -> get_ScreenPosition(This,pVal)

#define ILayerSite_StartTimer(This,nID,nInterval)	\
    (This)->lpVtbl -> StartTimer(This,nID,nInterval)

#define ILayerSite_EndTimer(This,nID)	\
    (This)->lpVtbl -> EndTimer(This,nID)

#define ILayerSite_get_Transparent(This,pVal)	\
    (This)->lpVtbl -> get_Transparent(This,pVal)

#define ILayerSite_put_Transparent(This,newVal)	\
    (This)->lpVtbl -> put_Transparent(This,newVal)

#define ILayerSite_put_Alpha(This,Alpha)	\
    (This)->lpVtbl -> put_Alpha(This,Alpha)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_Destroy_Proxy( 
    ILayerSite __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_CreateChild_Proxy( 
    ILayerSite __RPC_FAR * This,
    struct LayerParams __RPC_FAR *params,
    ILayer __RPC_FAR *pSink);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_GetSink_Proxy( 
    ILayerSite __RPC_FAR * This,
    REFIID iid,
    /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_Invalidate_Proxy( 
    ILayerSite __RPC_FAR * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ILayerSite_get_PluginSite_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [retval][out] */ IPluginSite __RPC_FAR *__RPC_FAR *ppSite);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_Reformat_Proxy( 
    ILayerSite __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_GetParentSink_Proxy( 
    ILayerSite __RPC_FAR * This,
    REFIID iid,
    /* [iid_is] */ void __RPC_FAR *__RPC_FAR *ppvItf);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ILayerSite_get_Position_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [retval][out] */ LPRECT pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ILayerSite_put_Position_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [in] */ LPRECT newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ILayerSite_get_ID_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ILayerSite_get_ChildCount_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ILayerSite_get_Child_Proxy( 
    ILayerSite __RPC_FAR * This,
    long nIndex,
    /* [defaultvalue] */ enum ePositionType posType,
    /* [retval][out] */ ILayerSite __RPC_FAR *__RPC_FAR *pVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_CaptureKeyboard_Proxy( 
    ILayerSite __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_IsChild_Proxy( 
    ILayerSite __RPC_FAR * This,
    ILayerSite __RPC_FAR *pSite,
    /* [defaultvalue][optional] */ VARIANT_BOOL bTestUnclipped,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbIsChild);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ILayerSite_put_Popup_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ILayerSite_get_ScreenPosition_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [retval][out] */ LPRECT pVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_StartTimer_Proxy( 
    ILayerSite __RPC_FAR * This,
    long nID,
    long nInterval);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSite_EndTimer_Proxy( 
    ILayerSite __RPC_FAR * This,
    long nID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ILayerSite_get_Transparent_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ILayerSite_put_Transparent_Proxy( 
    ILayerSite __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL newVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ILayerSite_put_Alpha_Proxy( 
    ILayerSite __RPC_FAR * This,
    long Alpha);


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



#endif 	/* __ILayerSite_INTERFACE_DEFINED__ */


#ifndef __IBarManager_INTERFACE_DEFINED__
#define __IBarManager_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IBarManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E4CCDC92-8658-4caa-8955-FB891D5BDCF7")
    IBarManager : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddBar( 
            long nViewID,
            struct ViewParams __RPC_FAR *pParams) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveBar( 
            long nViewID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Bar( 
            long nViewID,
            /* [retval][out] */ struct ViewParams __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Bar( 
            long nViewID,
            /* [in] */ struct ViewParams __RPC_FAR *newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBarManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBarManager __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBarManager __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBarManager __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddBar )( 
            IBarManager __RPC_FAR * This,
            long nViewID,
            struct ViewParams __RPC_FAR *pParams);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveBar )( 
            IBarManager __RPC_FAR * This,
            long nViewID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bar )( 
            IBarManager __RPC_FAR * This,
            long nViewID,
            /* [retval][out] */ struct ViewParams __RPC_FAR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bar )( 
            IBarManager __RPC_FAR * This,
            long nViewID,
            /* [in] */ struct ViewParams __RPC_FAR *newVal);
        
        END_INTERFACE
    } IBarManagerVtbl;

    interface IBarManager
    {
        CONST_VTBL struct IBarManagerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBarManager_AddBar(This,nViewID,pParams)	\
    (This)->lpVtbl -> AddBar(This,nViewID,pParams)

#define IBarManager_RemoveBar(This,nViewID)	\
    (This)->lpVtbl -> RemoveBar(This,nViewID)

#define IBarManager_get_Bar(This,nViewID,pVal)	\
    (This)->lpVtbl -> get_Bar(This,nViewID,pVal)

#define IBarManager_put_Bar(This,nViewID,newVal)	\
    (This)->lpVtbl -> put_Bar(This,nViewID,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IBarManager_AddBar_Proxy( 
    IBarManager __RPC_FAR * This,
    long nViewID,
    struct ViewParams __RPC_FAR *pParams);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IBarManager_RemoveBar_Proxy( 
    IBarManager __RPC_FAR * This,
    long nViewID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IBarManager_get_Bar_Proxy( 
    IBarManager __RPC_FAR * This,
    long nViewID,
    /* [retval][out] */ struct ViewParams __RPC_FAR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IBarManager_put_Bar_Proxy( 
    IBarManager __RPC_FAR * This,
    long nViewID,
    /* [in] */ struct ViewParams __RPC_FAR *newVal);


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



#endif 	/* __IBarManager_INTERFACE_DEFINED__ */


#ifndef __IIconCache_INTERFACE_DEFINED__
#define __IIconCache_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IIconCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DEDCD5AA-F6CA-4DA5-A657-E82F126ABBCD")
    IIconCache : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DrawIcon( 
            LPPOINT ppt,
            long nFile,
            long nModule,
            ICanvas __RPC_FAR *pTarget) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIconCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIconCache __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIconCache __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIconCache __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawIcon )( 
            IIconCache __RPC_FAR * This,
            LPPOINT ppt,
            long nFile,
            long nModule,
            ICanvas __RPC_FAR *pTarget);
        
        END_INTERFACE
    } IIconCacheVtbl;

    interface IIconCache
    {
        CONST_VTBL struct IIconCacheVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IIconCache_DrawIcon(This,ppt,nFile,nModule,pTarget)	\
    (This)->lpVtbl -> DrawIcon(This,ppt,nFile,nModule,pTarget)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIconCache_DrawIcon_Proxy( 
    IIconCache __RPC_FAR * This,
    LPPOINT ppt,
    long nFile,
    long nModule,
    ICanvas __RPC_FAR *pTarget);


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



#endif 	/* __IIconCache_INTERFACE_DEFINED__ */


#ifndef __IImageCacheDisp_INTERFACE_DEFINED__
#define __IImageCacheDisp_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IImageCacheDisp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F88548BC-D11E-4ac2-9A27-3607004D359F")
    IImageCacheDisp : public IDispatch
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IImageCacheDispVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IImageCacheDisp __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IImageCacheDisp __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IImageCacheDisp __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IImageCacheDisp __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IImageCacheDisp __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IImageCacheDisp __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IImageCacheDisp __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } IImageCacheDispVtbl;

    interface IImageCacheDisp
    {
        CONST_VTBL struct IImageCacheDispVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define IImageCacheDisp_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 	/* __IImageCacheDisp_INTERFACE_DEFINED__ */


#ifndef __IImageCache_INTERFACE_DEFINED__
#define __IImageCache_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IImageCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BE566CEC-6881-481C-A146-9F5A32576BE6")
    IImageCache : public IImageCacheDisp
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PatBlt( 
            ICanvas __RPC_FAR *pDest,
            LPRECT prcDest,
            LPPOINT ptOrigin) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StretchBlt( 
            ICanvas __RPC_FAR *pDest,
            LPPOINT pptDest,
            long nWidth,
            long nStartStretch,
            long nEndStretch) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Blt( 
            LPRECT rcSrc,
            ICanvas __RPC_FAR *pDest,
            LPPOINT pptDest) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ SIZE __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IImageCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IImageCache __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IImageCache __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IImageCache __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IImageCache __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IImageCache __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IImageCache __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IImageCache __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PatBlt )( 
            IImageCache __RPC_FAR * This,
            ICanvas __RPC_FAR *pDest,
            LPRECT prcDest,
            LPPOINT ptOrigin);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StretchBlt )( 
            IImageCache __RPC_FAR * This,
            ICanvas __RPC_FAR *pDest,
            LPPOINT pptDest,
            long nWidth,
            long nStartStretch,
            long nEndStretch);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Blt )( 
            IImageCache __RPC_FAR * This,
            LPRECT rcSrc,
            ICanvas __RPC_FAR *pDest,
            LPPOINT pptDest);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
            IImageCache __RPC_FAR * This,
            /* [retval][out] */ SIZE __RPC_FAR *pVal);
        
        END_INTERFACE
    } IImageCacheVtbl;

    interface IImageCache
    {
        CONST_VTBL struct IImageCacheVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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



#define IImageCache_PatBlt(This,pDest,prcDest,ptOrigin)	\
    (This)->lpVtbl -> PatBlt(This,pDest,prcDest,ptOrigin)

#define IImageCache_StretchBlt(This,pDest,pptDest,nWidth,nStartStretch,nEndStretch)	\
    (This)->lpVtbl -> StretchBlt(This,pDest,pptDest,nWidth,nStartStretch,nEndStretch)

#define IImageCache_Blt(This,rcSrc,pDest,pptDest)	\
    (This)->lpVtbl -> Blt(This,rcSrc,pDest,pptDest)

#define IImageCache_get_Size(This,pVal)	\
    (This)->lpVtbl -> get_Size(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IImageCache_PatBlt_Proxy( 
    IImageCache __RPC_FAR * This,
    ICanvas __RPC_FAR *pDest,
    LPRECT prcDest,
    LPPOINT ptOrigin);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IImageCache_StretchBlt_Proxy( 
    IImageCache __RPC_FAR * This,
    ICanvas __RPC_FAR *pDest,
    LPPOINT pptDest,
    long nWidth,
    long nStartStretch,
    long nEndStretch);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IImageCache_Blt_Proxy( 
    IImageCache __RPC_FAR * This,
    LPRECT rcSrc,
    ICanvas __RPC_FAR *pDest,
    LPPOINT pptDest);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IImageCache_get_Size_Proxy( 
    IImageCache __RPC_FAR * This,
    /* [retval][out] */ SIZE __RPC_FAR *pVal);


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



#endif 	/* __IImageCache_INTERFACE_DEFINED__ */


#ifndef __IFontCacheDisp_INTERFACE_DEFINED__
#define __IFontCacheDisp_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IFontCacheDisp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9394E96D-2B29-4c29-AF3E-DB5C476122DB")
    IFontCacheDisp : public IDispatch
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IFontCacheDispVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IFontCacheDisp __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IFontCacheDisp __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IFontCacheDisp __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IFontCacheDisp __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IFontCacheDisp __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IFontCacheDisp __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IFontCacheDisp __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } IFontCacheDispVtbl;

    interface IFontCacheDisp
    {
        CONST_VTBL struct IFontCacheDispVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define IFontCacheDisp_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 	/* __IFontCacheDisp_INTERFACE_DEFINED__ */


#ifndef __IFontCache_INTERFACE_DEFINED__
#define __IFontCache_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IFontCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("12ECCB0F-36A6-451C-B086-1306B74AAEC2")
    IFontCache : public IFontCacheDisp
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DrawText( 
            LPPOINT pt,
            BSTR szText,
            long clr,
            ICanvas __RPC_FAR *pTarget) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MeasureText( 
            BSTR szText,
            /* [retval][out] */ LPSIZE pszExt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HitTest( 
            BSTR szText,
            long nPos,
            /* [retval][out] */ long __RPC_FAR *nIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFontCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IFontCache __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IFontCache __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IFontCache __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IFontCache __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IFontCache __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IFontCache __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IFontCache __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawText )( 
            IFontCache __RPC_FAR * This,
            LPPOINT pt,
            BSTR szText,
            long clr,
            ICanvas __RPC_FAR *pTarget);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MeasureText )( 
            IFontCache __RPC_FAR * This,
            BSTR szText,
            /* [retval][out] */ LPSIZE pszExt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HitTest )( 
            IFontCache __RPC_FAR * This,
            BSTR szText,
            long nPos,
            /* [retval][out] */ long __RPC_FAR *nIndex);
        
        END_INTERFACE
    } IFontCacheVtbl;

    interface IFontCache
    {
        CONST_VTBL struct IFontCacheVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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



#define IFontCache_DrawText(This,pt,szText,clr,pTarget)	\
    (This)->lpVtbl -> DrawText(This,pt,szText,clr,pTarget)

#define IFontCache_MeasureText(This,szText,pszExt)	\
    (This)->lpVtbl -> MeasureText(This,szText,pszExt)

#define IFontCache_HitTest(This,szText,nPos,nIndex)	\
    (This)->lpVtbl -> HitTest(This,szText,nPos,nIndex)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IFontCache_DrawText_Proxy( 
    IFontCache __RPC_FAR * This,
    LPPOINT pt,
    BSTR szText,
    long clr,
    ICanvas __RPC_FAR *pTarget);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IFontCache_MeasureText_Proxy( 
    IFontCache __RPC_FAR * This,
    BSTR szText,
    /* [retval][out] */ LPSIZE pszExt);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IFontCache_HitTest_Proxy( 
    IFontCache __RPC_FAR * This,
    BSTR szText,
    long nPos,
    /* [retval][out] */ long __RPC_FAR *nIndex);


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



#endif 	/* __IFontCache_INTERFACE_DEFINED__ */


#ifndef __ISimpleBar_INTERFACE_DEFINED__
#define __ISimpleBar_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ISimpleBar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4A2D87CD-BFB4-4723-B959-FFF3FDD49278")
    ISimpleBar : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RenderWidth( 
            /* [retval][out] */ long __RPC_FAR *nWidth) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Params( 
            /* [retval][out] */ struct ViewParams __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Params( 
            /* [in] */ struct ViewParams __RPC_FAR *newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISimpleBarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISimpleBar __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISimpleBar __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISimpleBar __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RenderWidth )( 
            ISimpleBar __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *nWidth);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Params )( 
            ISimpleBar __RPC_FAR * This,
            /* [retval][out] */ struct ViewParams __RPC_FAR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Params )( 
            ISimpleBar __RPC_FAR * This,
            /* [in] */ struct ViewParams __RPC_FAR *newVal);
        
        END_INTERFACE
    } ISimpleBarVtbl;

    interface ISimpleBar
    {
        CONST_VTBL struct ISimpleBarVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISimpleBar_get_RenderWidth(This,nWidth)	\
    (This)->lpVtbl -> get_RenderWidth(This,nWidth)

#define ISimpleBar_get_Params(This,pVal)	\
    (This)->lpVtbl -> get_Params(This,pVal)

#define ISimpleBar_put_Params(This,newVal)	\
    (This)->lpVtbl -> put_Params(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISimpleBar_get_RenderWidth_Proxy( 
    ISimpleBar __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *nWidth);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISimpleBar_get_Params_Proxy( 
    ISimpleBar __RPC_FAR * This,
    /* [retval][out] */ struct ViewParams __RPC_FAR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISimpleBar_put_Params_Proxy( 
    ISimpleBar __RPC_FAR * This,
    /* [in] */ struct ViewParams __RPC_FAR *newVal);


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



#endif 	/* __ISimpleBar_INTERFACE_DEFINED__ */


#ifndef __ILayerMouse_INTERFACE_DEFINED__
#define __ILayerMouse_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ILayerMouse;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5014E0B2-9156-412c-946D-9D4BAA9F4C51")
    ILayerMouse : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MouseEnter( 
            struct MouseState __RPC_FAR *pMouse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MouseExit( 
            struct MouseState __RPC_FAR *pMouse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MouseDown( 
            struct MouseState __RPC_FAR *pMouse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MouseUp( 
            struct MouseState __RPC_FAR *pMouse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MouseMove( 
            struct MouseState __RPC_FAR *pMouse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MouseDblClk( 
            struct MouseState __RPC_FAR *pMouse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MouseEvent( 
            long nMsg,
            long wParam,
            long lParam) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILayerMouseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILayerMouse __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILayerMouse __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILayerMouse __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseEnter )( 
            ILayerMouse __RPC_FAR * This,
            struct MouseState __RPC_FAR *pMouse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseExit )( 
            ILayerMouse __RPC_FAR * This,
            struct MouseState __RPC_FAR *pMouse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseDown )( 
            ILayerMouse __RPC_FAR * This,
            struct MouseState __RPC_FAR *pMouse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseUp )( 
            ILayerMouse __RPC_FAR * This,
            struct MouseState __RPC_FAR *pMouse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseMove )( 
            ILayerMouse __RPC_FAR * This,
            struct MouseState __RPC_FAR *pMouse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseDblClk )( 
            ILayerMouse __RPC_FAR * This,
            struct MouseState __RPC_FAR *pMouse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseEvent )( 
            ILayerMouse __RPC_FAR * This,
            long nMsg,
            long wParam,
            long lParam);
        
        END_INTERFACE
    } ILayerMouseVtbl;

    interface ILayerMouse
    {
        CONST_VTBL struct ILayerMouseVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ILayerMouse_MouseEnter(This,pMouse)	\
    (This)->lpVtbl -> MouseEnter(This,pMouse)

#define ILayerMouse_MouseExit(This,pMouse)	\
    (This)->lpVtbl -> MouseExit(This,pMouse)

#define ILayerMouse_MouseDown(This,pMouse)	\
    (This)->lpVtbl -> MouseDown(This,pMouse)

#define ILayerMouse_MouseUp(This,pMouse)	\
    (This)->lpVtbl -> MouseUp(This,pMouse)

#define ILayerMouse_MouseMove(This,pMouse)	\
    (This)->lpVtbl -> MouseMove(This,pMouse)

#define ILayerMouse_MouseDblClk(This,pMouse)	\
    (This)->lpVtbl -> MouseDblClk(This,pMouse)

#define ILayerMouse_MouseEvent(This,nMsg,wParam,lParam)	\
    (This)->lpVtbl -> MouseEvent(This,nMsg,wParam,lParam)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerMouse_MouseEnter_Proxy( 
    ILayerMouse __RPC_FAR * This,
    struct MouseState __RPC_FAR *pMouse);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerMouse_MouseExit_Proxy( 
    ILayerMouse __RPC_FAR * This,
    struct MouseState __RPC_FAR *pMouse);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerMouse_MouseDown_Proxy( 
    ILayerMouse __RPC_FAR * This,
    struct MouseState __RPC_FAR *pMouse);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerMouse_MouseUp_Proxy( 
    ILayerMouse __RPC_FAR * This,
    struct MouseState __RPC_FAR *pMouse);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerMouse_MouseMove_Proxy( 
    ILayerMouse __RPC_FAR * This,
    struct MouseState __RPC_FAR *pMouse);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerMouse_MouseDblClk_Proxy( 
    ILayerMouse __RPC_FAR * This,
    struct MouseState __RPC_FAR *pMouse);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerMouse_MouseEvent_Proxy( 
    ILayerMouse __RPC_FAR * This,
    long nMsg,
    long wParam,
    long lParam);


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



#endif 	/* __ILayerMouse_INTERFACE_DEFINED__ */


#ifndef __ILayerSchema_INTERFACE_DEFINED__
#define __ILayerSchema_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ILayerSchema;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("829E0FB2-D0B5-4814-BCF9-6ECFA06C9AED")
    ILayerSchema : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SchemaLoad( 
            IView __RPC_FAR *pView,
            IUnknown __RPC_FAR *pXMLSchema) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILayerSchemaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILayerSchema __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILayerSchema __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILayerSchema __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SchemaLoad )( 
            ILayerSchema __RPC_FAR * This,
            IView __RPC_FAR *pView,
            IUnknown __RPC_FAR *pXMLSchema);
        
        END_INTERFACE
    } ILayerSchemaVtbl;

    interface ILayerSchema
    {
        CONST_VTBL struct ILayerSchemaVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ILayerSchema_SchemaLoad(This,pView,pXMLSchema)	\
    (This)->lpVtbl -> SchemaLoad(This,pView,pXMLSchema)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerSchema_SchemaLoad_Proxy( 
    ILayerSchema __RPC_FAR * This,
    IView __RPC_FAR *pView,
    IUnknown __RPC_FAR *pXMLSchema);


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



#endif 	/* __ILayerSchema_INTERFACE_DEFINED__ */


#ifndef __IButton_INTERFACE_DEFINED__
#define __IButton_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IButton;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F5765A4-9F83-4077-8884-6CBDDCE348F7")
    IButton : public IControl
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetImages( 
            long nModule,
            long nReleased,
            long nPressed) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Matte( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Matte( 
            /* [in] */ long newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IButtonVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IButton __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IButton __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IButton __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IButton __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IButton __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IButton __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IButton __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DestroyChild )( 
            IButton __RPC_FAR * This,
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ChildCount )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Child )( 
            IButton __RPC_FAR * This,
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType,
            /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImages )( 
            IButton __RPC_FAR * This,
            long nModule,
            long nReleased,
            long nPressed);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Matte )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Matte )( 
            IButton __RPC_FAR * This,
            /* [in] */ long newVal);
        
        END_INTERFACE
    } IButtonVtbl;

    interface IButton
    {
        CONST_VTBL struct IButtonVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IButton_DestroyChild(This,nIndex,posType)	\
    (This)->lpVtbl -> DestroyChild(This,nIndex,posType)

#define IButton_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IButton_get_ChildCount(This,pVal)	\
    (This)->lpVtbl -> get_ChildCount(This,pVal)

#define IButton_get_Child(This,nIndex,posType,pVal)	\
    (This)->lpVtbl -> get_Child(This,nIndex,posType,pVal)


#define IButton_SetImages(This,nModule,nReleased,nPressed)	\
    (This)->lpVtbl -> SetImages(This,nModule,nReleased,nPressed)

#define IButton_get_Matte(This,pVal)	\
    (This)->lpVtbl -> get_Matte(This,pVal)

#define IButton_put_Matte(This,newVal)	\
    (This)->lpVtbl -> put_Matte(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IButton_SetImages_Proxy( 
    IButton __RPC_FAR * This,
    long nModule,
    long nReleased,
    long nPressed);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IButton_get_Matte_Proxy( 
    IButton __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IButton_put_Matte_Proxy( 
    IButton __RPC_FAR * This,
    /* [in] */ long newVal);


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



#endif 	/* __IButton_INTERFACE_DEFINED__ */


#ifndef __IPager_INTERFACE_DEFINED__
#define __IPager_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IPager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BD9FC464-C0D8-4823-8255-E818F8836B08")
    IPager : public IControl
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishCommand( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ScrollTo( 
            LPPOINT ppt) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Command( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Command( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Offset( 
            /* [retval][out] */ LPPOINT pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Offset( 
            /* [in] */ LPPOINT newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateClient( 
            ILayer __RPC_FAR *pLayer) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPager __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPager __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPager __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IPager __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IPager __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IPager __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IPager __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DestroyChild )( 
            IPager __RPC_FAR * This,
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            IPager __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ChildCount )( 
            IPager __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Child )( 
            IPager __RPC_FAR * This,
            long nIndex,
            /* [defaultvalue] */ enum ePositionType posType,
            /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FinishCommand )( 
            IPager __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScrollTo )( 
            IPager __RPC_FAR * This,
            LPPOINT ppt);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Command )( 
            IPager __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Command )( 
            IPager __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Offset )( 
            IPager __RPC_FAR * This,
            /* [retval][out] */ LPPOINT pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Offset )( 
            IPager __RPC_FAR * This,
            /* [in] */ LPPOINT newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateClient )( 
            IPager __RPC_FAR * This,
            ILayer __RPC_FAR *pLayer);
        
        END_INTERFACE
    } IPagerVtbl;

    interface IPager
    {
        CONST_VTBL struct IPagerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IPager_DestroyChild(This,nIndex,posType)	\
    (This)->lpVtbl -> DestroyChild(This,nIndex,posType)

#define IPager_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IPager_get_ChildCount(This,pVal)	\
    (This)->lpVtbl -> get_ChildCount(This,pVal)

#define IPager_get_Child(This,nIndex,posType,pVal)	\
    (This)->lpVtbl -> get_Child(This,nIndex,posType,pVal)


#define IPager_FinishCommand(This)	\
    (This)->lpVtbl -> FinishCommand(This)

#define IPager_ScrollTo(This,ppt)	\
    (This)->lpVtbl -> ScrollTo(This,ppt)

#define IPager_get_Command(This,pVal)	\
    (This)->lpVtbl -> get_Command(This,pVal)

#define IPager_put_Command(This,newVal)	\
    (This)->lpVtbl -> put_Command(This,newVal)

#define IPager_get_Offset(This,pVal)	\
    (This)->lpVtbl -> get_Offset(This,pVal)

#define IPager_put_Offset(This,newVal)	\
    (This)->lpVtbl -> put_Offset(This,newVal)

#define IPager_CreateClient(This,pLayer)	\
    (This)->lpVtbl -> CreateClient(This,pLayer)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPager_FinishCommand_Proxy( 
    IPager __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPager_ScrollTo_Proxy( 
    IPager __RPC_FAR * This,
    LPPOINT ppt);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPager_get_Command_Proxy( 
    IPager __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IPager_put_Command_Proxy( 
    IPager __RPC_FAR * This,
    /* [in] */ long newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPager_get_Offset_Proxy( 
    IPager __RPC_FAR * This,
    /* [retval][out] */ LPPOINT pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IPager_put_Offset_Proxy( 
    IPager __RPC_FAR * This,
    /* [in] */ LPPOINT newVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPager_CreateClient_Proxy( 
    IPager __RPC_FAR * This,
    ILayer __RPC_FAR *pLayer);


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



#endif 	/* __IPager_INTERFACE_DEFINED__ */


#ifndef __IPanel_INTERFACE_DEFINED__
#define __IPanel_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IPanel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2B52B5CB-9E10-4238-8F62-A501406E3EAB")
    IPanel : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddView( 
            long nViewID,
            ILayer __RPC_FAR *pLayer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ActivateView( 
            long nViewID,
            struct ViewParams __RPC_FAR *pParams,
            long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveView( 
            long nViewID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveView( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadView( 
            long nViewID,
            IView __RPC_FAR *pView,
            IUnknown __RPC_FAR *pSchema) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deactivate( void) = 0;
        
        virtual /* [helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_Sink( 
            /* [in] */ IPanelSink __RPC_FAR *newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPanelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPanel __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPanel __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPanel __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddView )( 
            IPanel __RPC_FAR * This,
            long nViewID,
            ILayer __RPC_FAR *pLayer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ActivateView )( 
            IPanel __RPC_FAR * This,
            long nViewID,
            struct ViewParams __RPC_FAR *pParams,
            long __RPC_FAR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveView )( 
            IPanel __RPC_FAR * This,
            long nViewID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveView )( 
            IPanel __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadView )( 
            IPanel __RPC_FAR * This,
            long nViewID,
            IView __RPC_FAR *pView,
            IUnknown __RPC_FAR *pSchema);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deactivate )( 
            IPanel __RPC_FAR * This);
        
        /* [helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Sink )( 
            IPanel __RPC_FAR * This,
            /* [in] */ IPanelSink __RPC_FAR *newVal);
        
        END_INTERFACE
    } IPanelVtbl;

    interface IPanel
    {
        CONST_VTBL struct IPanelVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPanel_AddView(This,nViewID,pLayer)	\
    (This)->lpVtbl -> AddView(This,nViewID,pLayer)

#define IPanel_ActivateView(This,nViewID,pParams,pVal)	\
    (This)->lpVtbl -> ActivateView(This,nViewID,pParams,pVal)

#define IPanel_RemoveView(This,nViewID)	\
    (This)->lpVtbl -> RemoveView(This,nViewID)

#define IPanel_get_ActiveView(This,pVal)	\
    (This)->lpVtbl -> get_ActiveView(This,pVal)

#define IPanel_LoadView(This,nViewID,pView,pSchema)	\
    (This)->lpVtbl -> LoadView(This,nViewID,pView,pSchema)

#define IPanel_Deactivate(This)	\
    (This)->lpVtbl -> Deactivate(This)

#define IPanel_putref_Sink(This,newVal)	\
    (This)->lpVtbl -> putref_Sink(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPanel_AddView_Proxy( 
    IPanel __RPC_FAR * This,
    long nViewID,
    ILayer __RPC_FAR *pLayer);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPanel_ActivateView_Proxy( 
    IPanel __RPC_FAR * This,
    long nViewID,
    struct ViewParams __RPC_FAR *pParams,
    long __RPC_FAR *pVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPanel_RemoveView_Proxy( 
    IPanel __RPC_FAR * This,
    long nViewID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPanel_get_ActiveView_Proxy( 
    IPanel __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPanel_LoadView_Proxy( 
    IPanel __RPC_FAR * This,
    long nViewID,
    IView __RPC_FAR *pView,
    IUnknown __RPC_FAR *pSchema);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPanel_Deactivate_Proxy( 
    IPanel __RPC_FAR * This);


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


/* [helpstring][propputref] */ HRESULT STDMETHODCALLTYPE IPanel_putref_Sink_Proxy( 
    IPanel __RPC_FAR * This,
    /* [in] */ IPanelSink __RPC_FAR *newVal);


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



#endif 	/* __IPanel_INTERFACE_DEFINED__ */


#ifndef __IPanelSink_INTERFACE_DEFINED__
#define __IPanelSink_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IPanelSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("85D70924-917D-41bb-995D-C40E6AB21C71")
    IPanelSink : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PanelDeactivate( 
            long nViewID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPanelSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPanelSink __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPanelSink __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPanelSink __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PanelDeactivate )( 
            IPanelSink __RPC_FAR * This,
            long nViewID);
        
        END_INTERFACE
    } IPanelSinkVtbl;

    interface IPanelSink
    {
        CONST_VTBL struct IPanelSinkVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPanelSink_PanelDeactivate(This,nViewID)	\
    (This)->lpVtbl -> PanelDeactivate(This,nViewID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IPanelSink_PanelDeactivate_Proxy( 
    IPanelSink __RPC_FAR * This,
    long nViewID);


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



#endif 	/* __IPanelSink_INTERFACE_DEFINED__ */


#ifndef __ICanvas_INTERFACE_DEFINED__
#define __ICanvas_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ICanvas;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9241862D-BA71-4317-8166-3A3E61CE3E5F")
    ICanvas : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PushClipRect( 
            LPRECT prc,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PopClipRect( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDC( 
            /* [retval][out] */ HDC __RPC_FAR *pdc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReleaseDC( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSurface( 
            REFIID iid,
            /* [iid_is][retval][out] */ void __RPC_FAR *__RPC_FAR *ppvItf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Fill( 
            LPRECT prc,
            long nRGB) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Frame( 
            LPRECT prc,
            long nRGB) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipParams( 
            /* [retval][out] */ struct ClipParams __RPC_FAR *pParams) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_WasLost( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ LPSIZE pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Size( 
            /* [in] */ LPSIZE newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Blt( 
            LPRECT prcSrc,
            ICanvas __RPC_FAR *pSrc,
            LPPOINT pptDest) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HitTest( 
            LPPOINT ppt,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHit) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ToClient( 
            /* [out][in] */ LPPOINT pt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ToScreen( 
            /* [out][in] */ LPPOINT ppt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OffsetOrg( 
            LPPOINT ppt,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetClipRect( 
            LPRECT prcClip,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Alpha( 
            long Alpha) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICanvasVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICanvas __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICanvas __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICanvas __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PushClipRect )( 
            ICanvas __RPC_FAR * This,
            LPRECT prc,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PopClipRect )( 
            ICanvas __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDC )( 
            ICanvas __RPC_FAR * This,
            /* [retval][out] */ HDC __RPC_FAR *pdc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseDC )( 
            ICanvas __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            ICanvas __RPC_FAR * This,
            REFIID iid,
            /* [iid_is][retval][out] */ void __RPC_FAR *__RPC_FAR *ppvItf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Fill )( 
            ICanvas __RPC_FAR * This,
            LPRECT prc,
            long nRGB);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Frame )( 
            ICanvas __RPC_FAR * This,
            LPRECT prc,
            long nRGB);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClipParams )( 
            ICanvas __RPC_FAR * This,
            /* [retval][out] */ struct ClipParams __RPC_FAR *pParams);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WasLost )( 
            ICanvas __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
            ICanvas __RPC_FAR * This,
            /* [retval][out] */ LPSIZE pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Size )( 
            ICanvas __RPC_FAR * This,
            /* [in] */ LPSIZE newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Blt )( 
            ICanvas __RPC_FAR * This,
            LPRECT prcSrc,
            ICanvas __RPC_FAR *pSrc,
            LPPOINT pptDest);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HitTest )( 
            ICanvas __RPC_FAR * This,
            LPPOINT ppt,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHit);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ToClient )( 
            ICanvas __RPC_FAR * This,
            /* [out][in] */ LPPOINT pt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ToScreen )( 
            ICanvas __RPC_FAR * This,
            /* [out][in] */ LPPOINT ppt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OffsetOrg )( 
            ICanvas __RPC_FAR * This,
            LPPOINT ppt,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClipRect )( 
            ICanvas __RPC_FAR * This,
            LPRECT prcClip,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Alpha )( 
            ICanvas __RPC_FAR * This,
            long Alpha);
        
        END_INTERFACE
    } ICanvasVtbl;

    interface ICanvas
    {
        CONST_VTBL struct ICanvasVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICanvas_PushClipRect(This,prc,pbVisible)	\
    (This)->lpVtbl -> PushClipRect(This,prc,pbVisible)

#define ICanvas_PopClipRect(This)	\
    (This)->lpVtbl -> PopClipRect(This)

#define ICanvas_GetDC(This,pdc)	\
    (This)->lpVtbl -> GetDC(This,pdc)

#define ICanvas_ReleaseDC(This)	\
    (This)->lpVtbl -> ReleaseDC(This)

#define ICanvas_GetSurface(This,iid,ppvItf)	\
    (This)->lpVtbl -> GetSurface(This,iid,ppvItf)

#define ICanvas_Fill(This,prc,nRGB)	\
    (This)->lpVtbl -> Fill(This,prc,nRGB)

#define ICanvas_Frame(This,prc,nRGB)	\
    (This)->lpVtbl -> Frame(This,prc,nRGB)

#define ICanvas_GetClipParams(This,pParams)	\
    (This)->lpVtbl -> GetClipParams(This,pParams)

#define ICanvas_get_WasLost(This,pVal)	\
    (This)->lpVtbl -> get_WasLost(This,pVal)

#define ICanvas_get_Size(This,pVal)	\
    (This)->lpVtbl -> get_Size(This,pVal)

#define ICanvas_put_Size(This,newVal)	\
    (This)->lpVtbl -> put_Size(This,newVal)

#define ICanvas_Blt(This,prcSrc,pSrc,pptDest)	\
    (This)->lpVtbl -> Blt(This,prcSrc,pSrc,pptDest)

#define ICanvas_HitTest(This,ppt,pbHit)	\
    (This)->lpVtbl -> HitTest(This,ppt,pbHit)

#define ICanvas_ToClient(This,pt)	\
    (This)->lpVtbl -> ToClient(This,pt)

#define ICanvas_ToScreen(This,ppt)	\
    (This)->lpVtbl -> ToScreen(This,ppt)

#define ICanvas_OffsetOrg(This,ppt,pbVisible)	\
    (This)->lpVtbl -> OffsetOrg(This,ppt,pbVisible)

#define ICanvas_SetClipRect(This,prcClip,pbVisible)	\
    (This)->lpVtbl -> SetClipRect(This,prcClip,pbVisible)

#define ICanvas_put_Alpha(This,Alpha)	\
    (This)->lpVtbl -> put_Alpha(This,Alpha)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_PushClipRect_Proxy( 
    ICanvas __RPC_FAR * This,
    LPRECT prc,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_PopClipRect_Proxy( 
    ICanvas __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_GetDC_Proxy( 
    ICanvas __RPC_FAR * This,
    /* [retval][out] */ HDC __RPC_FAR *pdc);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_ReleaseDC_Proxy( 
    ICanvas __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_GetSurface_Proxy( 
    ICanvas __RPC_FAR * This,
    REFIID iid,
    /* [iid_is][retval][out] */ void __RPC_FAR *__RPC_FAR *ppvItf);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_Fill_Proxy( 
    ICanvas __RPC_FAR * This,
    LPRECT prc,
    long nRGB);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_Frame_Proxy( 
    ICanvas __RPC_FAR * This,
    LPRECT prc,
    long nRGB);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_GetClipParams_Proxy( 
    ICanvas __RPC_FAR * This,
    /* [retval][out] */ struct ClipParams __RPC_FAR *pParams);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ICanvas_get_WasLost_Proxy( 
    ICanvas __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ICanvas_get_Size_Proxy( 
    ICanvas __RPC_FAR * This,
    /* [retval][out] */ LPSIZE pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ICanvas_put_Size_Proxy( 
    ICanvas __RPC_FAR * This,
    /* [in] */ LPSIZE newVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_Blt_Proxy( 
    ICanvas __RPC_FAR * This,
    LPRECT prcSrc,
    ICanvas __RPC_FAR *pSrc,
    LPPOINT pptDest);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_HitTest_Proxy( 
    ICanvas __RPC_FAR * This,
    LPPOINT ppt,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHit);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_ToClient_Proxy( 
    ICanvas __RPC_FAR * This,
    /* [out][in] */ LPPOINT pt);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_ToScreen_Proxy( 
    ICanvas __RPC_FAR * This,
    /* [out][in] */ LPPOINT ppt);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_OffsetOrg_Proxy( 
    ICanvas __RPC_FAR * This,
    LPPOINT ppt,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICanvas_SetClipRect_Proxy( 
    ICanvas __RPC_FAR * This,
    LPRECT prcClip,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbVisible);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ICanvas_put_Alpha_Proxy( 
    ICanvas __RPC_FAR * This,
    long Alpha);


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



#endif 	/* __ICanvas_INTERFACE_DEFINED__ */


#ifndef __IViewDisp_INTERFACE_DEFINED__
#define __IViewDisp_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IViewDisp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F3B54A0C-61B9-4B7A-9FD8-82B0477FB7D9")
    IViewDisp : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Control( 
            BSTR strName,
            /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_Control( 
            BSTR strName,
            /* [in] */ IControl __RPC_FAR *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Alert( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIcon( 
            long icon,
            /* [optional] */ VARIANT iconlibrary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Activate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deactivate( void) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ LPRECT pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ LPRECT pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IViewDispVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IViewDisp __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IViewDisp __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IViewDisp __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IViewDisp __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IViewDisp __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IViewDisp __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IViewDisp __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Control )( 
            IViewDisp __RPC_FAR * This,
            BSTR strName,
            /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Control )( 
            IViewDisp __RPC_FAR * This,
            BSTR strName,
            /* [in] */ IControl __RPC_FAR *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Title )( 
            IViewDisp __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Title )( 
            IViewDisp __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Alert )( 
            IViewDisp __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetIcon )( 
            IViewDisp __RPC_FAR * This,
            long icon,
            /* [optional] */ VARIANT iconlibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Activate )( 
            IViewDisp __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deactivate )( 
            IViewDisp __RPC_FAR * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Position )( 
            IViewDisp __RPC_FAR * This,
            /* [in] */ LPRECT pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Position )( 
            IViewDisp __RPC_FAR * This,
            /* [retval][out] */ LPRECT pVal);
        
        END_INTERFACE
    } IViewDispVtbl;

    interface IViewDisp
    {
        CONST_VTBL struct IViewDispVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IViewDisp_get_Control(This,strName,pVal)	\
    (This)->lpVtbl -> get_Control(This,strName,pVal)

#define IViewDisp_putref_Control(This,strName,newVal)	\
    (This)->lpVtbl -> putref_Control(This,strName,newVal)

#define IViewDisp_get_Title(This,pVal)	\
    (This)->lpVtbl -> get_Title(This,pVal)

#define IViewDisp_put_Title(This,newVal)	\
    (This)->lpVtbl -> put_Title(This,newVal)

#define IViewDisp_Alert(This)	\
    (This)->lpVtbl -> Alert(This)

#define IViewDisp_SetIcon(This,icon,iconlibrary)	\
    (This)->lpVtbl -> SetIcon(This,icon,iconlibrary)

#define IViewDisp_Activate(This)	\
    (This)->lpVtbl -> Activate(This)

#define IViewDisp_Deactivate(This)	\
    (This)->lpVtbl -> Deactivate(This)

#define IViewDisp_put_Position(This,pVal)	\
    (This)->lpVtbl -> put_Position(This,pVal)

#define IViewDisp_get_Position(This,pVal)	\
    (This)->lpVtbl -> get_Position(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IViewDisp_get_Control_Proxy( 
    IViewDisp __RPC_FAR * This,
    BSTR strName,
    /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal);


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


/* [helpstring][propputref] */ HRESULT STDMETHODCALLTYPE IViewDisp_putref_Control_Proxy( 
    IViewDisp __RPC_FAR * This,
    BSTR strName,
    /* [in] */ IControl __RPC_FAR *newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IViewDisp_get_Title_Proxy( 
    IViewDisp __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IViewDisp_put_Title_Proxy( 
    IViewDisp __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IViewDisp_Alert_Proxy( 
    IViewDisp __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IViewDisp_SetIcon_Proxy( 
    IViewDisp __RPC_FAR * This,
    long icon,
    /* [optional] */ VARIANT iconlibrary);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IViewDisp_Activate_Proxy( 
    IViewDisp __RPC_FAR * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IViewDisp_Deactivate_Proxy( 
    IViewDisp __RPC_FAR * This);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IViewDisp_put_Position_Proxy( 
    IViewDisp __RPC_FAR * This,
    /* [in] */ LPRECT pVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IViewDisp_get_Position_Proxy( 
    IViewDisp __RPC_FAR * This,
    /* [retval][out] */ LPRECT pVal);


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



#endif 	/* __IViewDisp_INTERFACE_DEFINED__ */


#ifndef __IView_INTERFACE_DEFINED__
#define __IView_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A2AE18B7-85C9-451c-8CC3-D0FFE6B86EEB")
    IView : public IViewDisp
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadControl( 
            ILayerSite __RPC_FAR *pParent,
            long nID,
            IUnknown __RPC_FAR *pXMLSource,
            /* [retval][out] */ long __RPC_FAR *pAssignedID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadSchema( 
            BSTR strXMLSchema) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Alpha( 
            long Alpha) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IView __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IView __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IView __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IView __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IView __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IView __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IView __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Control )( 
            IView __RPC_FAR * This,
            BSTR strName,
            /* [retval][out] */ IControl __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Control )( 
            IView __RPC_FAR * This,
            BSTR strName,
            /* [in] */ IControl __RPC_FAR *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Title )( 
            IView __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Title )( 
            IView __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Alert )( 
            IView __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetIcon )( 
            IView __RPC_FAR * This,
            long icon,
            /* [optional] */ VARIANT iconlibrary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Activate )( 
            IView __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deactivate )( 
            IView __RPC_FAR * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Position )( 
            IView __RPC_FAR * This,
            /* [in] */ LPRECT pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Position )( 
            IView __RPC_FAR * This,
            /* [retval][out] */ LPRECT pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadControl )( 
            IView __RPC_FAR * This,
            ILayerSite __RPC_FAR *pParent,
            long nID,
            IUnknown __RPC_FAR *pXMLSource,
            /* [retval][out] */ long __RPC_FAR *pAssignedID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadSchema )( 
            IView __RPC_FAR * This,
            BSTR strXMLSchema);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Alpha )( 
            IView __RPC_FAR * This,
            long Alpha);
        
        END_INTERFACE
    } IViewVtbl;

    interface IView
    {
        CONST_VTBL struct IViewVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IView_get_Control(This,strName,pVal)	\
    (This)->lpVtbl -> get_Control(This,strName,pVal)

#define IView_putref_Control(This,strName,newVal)	\
    (This)->lpVtbl -> putref_Control(This,strName,newVal)

#define IView_get_Title(This,pVal)	\
    (This)->lpVtbl -> get_Title(This,pVal)

#define IView_put_Title(This,newVal)	\
    (This)->lpVtbl -> put_Title(This,newVal)

#define IView_Alert(This)	\
    (This)->lpVtbl -> Alert(This)

#define IView_SetIcon(This,icon,iconlibrary)	\
    (This)->lpVtbl -> SetIcon(This,icon,iconlibrary)

#define IView_Activate(This)	\
    (This)->lpVtbl -> Activate(This)

#define IView_Deactivate(This)	\
    (This)->lpVtbl -> Deactivate(This)

#define IView_put_Position(This,pVal)	\
    (This)->lpVtbl -> put_Position(This,pVal)

#define IView_get_Position(This,pVal)	\
    (This)->lpVtbl -> get_Position(This,pVal)


#define IView_LoadControl(This,pParent,nID,pXMLSource,pAssignedID)	\
    (This)->lpVtbl -> LoadControl(This,pParent,nID,pXMLSource,pAssignedID)

#define IView_LoadSchema(This,strXMLSchema)	\
    (This)->lpVtbl -> LoadSchema(This,strXMLSchema)

#define IView_put_Alpha(This,Alpha)	\
    (This)->lpVtbl -> put_Alpha(This,Alpha)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IView_LoadControl_Proxy( 
    IView __RPC_FAR * This,
    ILayerSite __RPC_FAR *pParent,
    long nID,
    IUnknown __RPC_FAR *pXMLSource,
    /* [retval][out] */ long __RPC_FAR *pAssignedID);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IView_LoadSchema_Proxy( 
    IView __RPC_FAR * This,
    BSTR strXMLSchema);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IView_put_Alpha_Proxy( 
    IView __RPC_FAR * This,
    long Alpha);


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



#endif 	/* __IView_INTERFACE_DEFINED__ */


#ifndef __IRootLayer_INTERFACE_DEFINED__
#define __IRootLayer_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IRootLayer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D3006096-B293-47f5-9377-C12DEF5C1D34")
    IRootLayer : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateView( 
            struct ViewParams __RPC_FAR *pParams,
            ILayer __RPC_FAR *pLayer,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectBar( 
            long nID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadView( 
            BSTR strXML,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadViewObject( 
            IUnknown __RPC_FAR *pSchema,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRootLayerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IRootLayer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IRootLayer __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IRootLayer __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateView )( 
            IRootLayer __RPC_FAR * This,
            struct ViewParams __RPC_FAR *pParams,
            ILayer __RPC_FAR *pLayer,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SelectBar )( 
            IRootLayer __RPC_FAR * This,
            long nID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadView )( 
            IRootLayer __RPC_FAR * This,
            BSTR strXML,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadViewObject )( 
            IRootLayer __RPC_FAR * This,
            IUnknown __RPC_FAR *pSchema,
            /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);
        
        END_INTERFACE
    } IRootLayerVtbl;

    interface IRootLayer
    {
        CONST_VTBL struct IRootLayerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRootLayer_CreateView(This,pParams,pLayer,ppView)	\
    (This)->lpVtbl -> CreateView(This,pParams,pLayer,ppView)

#define IRootLayer_SelectBar(This,nID)	\
    (This)->lpVtbl -> SelectBar(This,nID)

#define IRootLayer_LoadView(This,strXML,ppView)	\
    (This)->lpVtbl -> LoadView(This,strXML,ppView)

#define IRootLayer_LoadViewObject(This,pSchema,ppView)	\
    (This)->lpVtbl -> LoadViewObject(This,pSchema,ppView)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRootLayer_CreateView_Proxy( 
    IRootLayer __RPC_FAR * This,
    struct ViewParams __RPC_FAR *pParams,
    ILayer __RPC_FAR *pLayer,
    /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRootLayer_SelectBar_Proxy( 
    IRootLayer __RPC_FAR * This,
    long nID);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRootLayer_LoadView_Proxy( 
    IRootLayer __RPC_FAR * This,
    BSTR strXML,
    /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRootLayer_LoadViewObject_Proxy( 
    IRootLayer __RPC_FAR * This,
    IUnknown __RPC_FAR *pSchema,
    /* [retval][out] */ IView __RPC_FAR *__RPC_FAR *ppView);


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



#endif 	/* __IRootLayer_INTERFACE_DEFINED__ */


#ifndef __IMessageMember_INTERFACE_DEFINED__
#define __IMessageMember_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IMessageMember;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("05D14E34-0A23-4A9F-95CF-9DB24B3CFB9F")
    IMessageMember : public IDispatch
    {
    public:
        virtual /* [defaultcollelem][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Member( 
            VARIANT vIndex,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MemberName( 
            long Index,
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMessageMemberVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMessageMember __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMessageMember __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMessageMember __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IMessageMember __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IMessageMember __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IMessageMember __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IMessageMember __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [defaultcollelem][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Member )( 
            IMessageMember __RPC_FAR * This,
            VARIANT vIndex,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MemberName )( 
            IMessageMember __RPC_FAR * This,
            long Index,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IMessageMember __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        END_INTERFACE
    } IMessageMemberVtbl;

    interface IMessageMember
    {
        CONST_VTBL struct IMessageMemberVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IMessageMember_get_Member(This,vIndex,pVal)	\
    (This)->lpVtbl -> get_Member(This,vIndex,pVal)

#define IMessageMember_get_MemberName(This,Index,pVal)	\
    (This)->lpVtbl -> get_MemberName(This,Index,pVal)

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

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [defaultcollelem][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMessageMember_get_Member_Proxy( 
    IMessageMember __RPC_FAR * This,
    VARIANT vIndex,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMessageMember_get_MemberName_Proxy( 
    IMessageMember __RPC_FAR * This,
    long Index,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMessageMember_get_Count_Proxy( 
    IMessageMember __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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



#endif 	/* __IMessageMember_INTERFACE_DEFINED__ */


#ifndef __IMessage_INTERFACE_DEFINED__
#define __IMessage_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IMessage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("23EE0804-EAC7-493B-BB9D-2298FD44FFA1")
    IMessage : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Data( 
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [defaultcollelem][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Member( 
            VARIANT vElement,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MemberName( 
            long Index,
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMessageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMessage __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMessage __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMessage __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IMessage __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IMessage __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IMessage __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IMessage __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
            IMessage __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Data )( 
            IMessage __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [defaultcollelem][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Member )( 
            IMessage __RPC_FAR * This,
            VARIANT vElement,
            /* [retval][out] */ VARIANT __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MemberName )( 
            IMessage __RPC_FAR * This,
            long Index,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IMessage __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        END_INTERFACE
    } IMessageVtbl;

    interface IMessage
    {
        CONST_VTBL struct IMessageVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define IMessage_get_Data(This,pVal)	\
    (This)->lpVtbl -> get_Data(This,pVal)

#define IMessage_get_Member(This,vElement,pVal)	\
    (This)->lpVtbl -> get_Member(This,vElement,pVal)

#define IMessage_get_MemberName(This,Index,pVal)	\
    (This)->lpVtbl -> get_MemberName(This,Index,pVal)

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

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMessage_get_Type_Proxy( 
    IMessage __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMessage_get_Data_Proxy( 
    IMessage __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


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


/* [defaultcollelem][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMessage_get_Member_Proxy( 
    IMessage __RPC_FAR * This,
    VARIANT vElement,
    /* [retval][out] */ VARIANT __RPC_FAR *pVal);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMessage_get_MemberName_Proxy( 
    IMessage __RPC_FAR * This,
    long Index,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMessage_get_Count_Proxy( 
    IMessage __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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



#endif 	/* __IMessage_INTERFACE_DEFINED__ */


#ifndef __INetworkFilter_INTERFACE_DEFINED__
#define __INetworkFilter_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_INetworkFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EEB0BE9E-46BD-493F-97E2-330670C09F59")
    INetworkFilter : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Dispatch( 
            IMessage __RPC_FAR *Message) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct INetworkFilterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            INetworkFilter __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            INetworkFilter __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            INetworkFilter __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            INetworkFilter __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            INetworkFilter __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            INetworkFilter __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            INetworkFilter __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Dispatch )( 
            INetworkFilter __RPC_FAR * This,
            IMessage __RPC_FAR *Message);
        
        END_INTERFACE
    } INetworkFilterVtbl;

    interface INetworkFilter
    {
        CONST_VTBL struct INetworkFilterVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define INetworkFilter_Dispatch(This,Message)	\
    (This)->lpVtbl -> Dispatch(This,Message)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE INetworkFilter_Dispatch_Proxy( 
    INetworkFilter __RPC_FAR * This,
    IMessage __RPC_FAR *Message);


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



#endif 	/* __INetworkFilter_INTERFACE_DEFINED__ */


#ifndef __ILayerKeyboard_INTERFACE_DEFINED__
#define __ILayerKeyboard_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ILayerKeyboard;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7500929F-4251-4373-B978-286A8A8BECED")
    ILayerKeyboard : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE KeyboardChar( 
            struct KeyState __RPC_FAR *pKS) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE KeyboardEndCapture( 
            VARIANT_BOOL bCancel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE KeyboardEvent( 
            long nMsg,
            long wParam,
            long lParam) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILayerKeyboardVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILayerKeyboard __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILayerKeyboard __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILayerKeyboard __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *KeyboardChar )( 
            ILayerKeyboard __RPC_FAR * This,
            struct KeyState __RPC_FAR *pKS);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *KeyboardEndCapture )( 
            ILayerKeyboard __RPC_FAR * This,
            VARIANT_BOOL bCancel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *KeyboardEvent )( 
            ILayerKeyboard __RPC_FAR * This,
            long nMsg,
            long wParam,
            long lParam);
        
        END_INTERFACE
    } ILayerKeyboardVtbl;

    interface ILayerKeyboard
    {
        CONST_VTBL struct ILayerKeyboardVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ILayerKeyboard_KeyboardChar(This,pKS)	\
    (This)->lpVtbl -> KeyboardChar(This,pKS)

#define ILayerKeyboard_KeyboardEndCapture(This,bCancel)	\
    (This)->lpVtbl -> KeyboardEndCapture(This,bCancel)

#define ILayerKeyboard_KeyboardEvent(This,nMsg,wParam,lParam)	\
    (This)->lpVtbl -> KeyboardEvent(This,nMsg,wParam,lParam)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerKeyboard_KeyboardChar_Proxy( 
    ILayerKeyboard __RPC_FAR * This,
    struct KeyState __RPC_FAR *pKS);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerKeyboard_KeyboardEndCapture_Proxy( 
    ILayerKeyboard __RPC_FAR * This,
    VARIANT_BOOL bCancel);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerKeyboard_KeyboardEvent_Proxy( 
    ILayerKeyboard __RPC_FAR * This,
    long nMsg,
    long wParam,
    long lParam);


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



#endif 	/* __ILayerKeyboard_INTERFACE_DEFINED__ */


#ifndef __ILayerPopup_INTERFACE_DEFINED__
#define __ILayerPopup_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ILayerPopup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("22072A97-E5E6-4d91-A344-807235BFA5D8")
    ILayerPopup : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PopupCancel( 
            struct MouseState __RPC_FAR *pMouse,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbContinue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILayerPopupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILayerPopup __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILayerPopup __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILayerPopup __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PopupCancel )( 
            ILayerPopup __RPC_FAR * This,
            struct MouseState __RPC_FAR *pMouse,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbContinue);
        
        END_INTERFACE
    } ILayerPopupVtbl;

    interface ILayerPopup
    {
        CONST_VTBL struct ILayerPopupVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ILayerPopup_PopupCancel(This,pMouse,pbContinue)	\
    (This)->lpVtbl -> PopupCancel(This,pMouse,pbContinue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerPopup_PopupCancel_Proxy( 
    ILayerPopup __RPC_FAR * This,
    struct MouseState __RPC_FAR *pMouse,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbContinue);


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



#endif 	/* __ILayerPopup_INTERFACE_DEFINED__ */


#ifndef __ILayerTimer_INTERFACE_DEFINED__
#define __ILayerTimer_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ILayerTimer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5D6B8A1B-321A-479f-9347-55725BDA3DA9")
    ILayerTimer : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TimerTimeout( 
            long nID,
            long nInterval,
            long nReps,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbContinue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILayerTimerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILayerTimer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILayerTimer __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILayerTimer __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TimerTimeout )( 
            ILayerTimer __RPC_FAR * This,
            long nID,
            long nInterval,
            long nReps,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbContinue);
        
        END_INTERFACE
    } ILayerTimerVtbl;

    interface ILayerTimer
    {
        CONST_VTBL struct ILayerTimerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ILayerTimer_TimerTimeout(This,nID,nInterval,nReps,pbContinue)	\
    (This)->lpVtbl -> TimerTimeout(This,nID,nInterval,nReps,pbContinue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ILayerTimer_TimerTimeout_Proxy( 
    ILayerTimer __RPC_FAR * This,
    long nID,
    long nInterval,
    long nReps,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbContinue);


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



#endif 	/* __ILayerTimer_INTERFACE_DEFINED__ */


#ifndef __IWindowsMessageSink_INTERFACE_DEFINED__
#define __IWindowsMessageSink_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IWindowsMessageSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A68BE455-C241-49c5-9F8A-070E4CBE430F")
    IWindowsMessageSink : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WindowMessage( 
            long hWnd,
            short uMsg,
            long wParam,
            long lParam,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WindowMessageEnd( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWindowsMessageSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IWindowsMessageSink __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IWindowsMessageSink __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IWindowsMessageSink __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WindowMessage )( 
            IWindowsMessageSink __RPC_FAR * This,
            long hWnd,
            short uMsg,
            long wParam,
            long lParam,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WindowMessageEnd )( 
            IWindowsMessageSink __RPC_FAR * This);
        
        END_INTERFACE
    } IWindowsMessageSinkVtbl;

    interface IWindowsMessageSink
    {
        CONST_VTBL struct IWindowsMessageSinkVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IWindowsMessageSink_WindowMessage(This,hWnd,uMsg,wParam,lParam,pbEat)	\
    (This)->lpVtbl -> WindowMessage(This,hWnd,uMsg,wParam,lParam,pbEat)

#define IWindowsMessageSink_WindowMessageEnd(This)	\
    (This)->lpVtbl -> WindowMessageEnd(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IWindowsMessageSink_WindowMessage_Proxy( 
    IWindowsMessageSink __RPC_FAR * This,
    long hWnd,
    short uMsg,
    long wParam,
    long lParam,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbEat);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IWindowsMessageSink_WindowMessageEnd_Proxy( 
    IWindowsMessageSink __RPC_FAR * This);


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



#endif 	/* __IWindowsMessageSink_INTERFACE_DEFINED__ */


#ifndef __IBrushImage_INTERFACE_DEFINED__
#define __IBrushImage_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IBrushImage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("50CDFD25-4F3B-4412-96BE-947A6C7B93A2")
    IBrushImage : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ long newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBrushImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBrushImage __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBrushImage __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBrushImage __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IBrushImage __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IBrushImage __RPC_FAR * This,
            /* [in] */ long newVal);
        
        END_INTERFACE
    } IBrushImageVtbl;

    interface IBrushImage
    {
        CONST_VTBL struct IBrushImageVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBrushImage_get_Color(This,pVal)	\
    (This)->lpVtbl -> get_Color(This,pVal)

#define IBrushImage_put_Color(This,newVal)	\
    (This)->lpVtbl -> put_Color(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IBrushImage_get_Color_Proxy( 
    IBrushImage __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IBrushImage_put_Color_Proxy( 
    IBrushImage __RPC_FAR * This,
    /* [in] */ long newVal);


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



#endif 	/* __IBrushImage_INTERFACE_DEFINED__ */


#ifndef __IInputBuffer_INTERFACE_DEFINED__
#define __IInputBuffer_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IInputBuffer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("634D74B8-AFED-4710-82C9-B530326E1AFA")
    IInputBuffer : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TypeText( 
            BSTR strText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delay( 
            long nMilliseconds,
            /* [defaultvalue][optional] */ VARIANT_BOOL bAllowInput = 0) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MouseClick( 
            long nX,
            long nY,
            enum eMouseInput eAction) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ enum eInputStatus __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Run( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IInputBufferVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IInputBuffer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IInputBuffer __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IInputBuffer __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IInputBuffer __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IInputBuffer __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IInputBuffer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IInputBuffer __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IInputBuffer __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TypeText )( 
            IInputBuffer __RPC_FAR * This,
            BSTR strText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delay )( 
            IInputBuffer __RPC_FAR * This,
            long nMilliseconds,
            /* [defaultvalue][optional] */ VARIANT_BOOL bAllowInput);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseClick )( 
            IInputBuffer __RPC_FAR * This,
            long nX,
            long nY,
            enum eMouseInput eAction);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Status )( 
            IInputBuffer __RPC_FAR * This,
            /* [retval][out] */ enum eInputStatus __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )( 
            IInputBuffer __RPC_FAR * This);
        
        END_INTERFACE
    } IInputBufferVtbl;

    interface IInputBuffer
    {
        CONST_VTBL struct IInputBufferVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define IInputBuffer_TypeText(This,strText)	\
    (This)->lpVtbl -> TypeText(This,strText)

#define IInputBuffer_Delay(This,nMilliseconds,bAllowInput)	\
    (This)->lpVtbl -> Delay(This,nMilliseconds,bAllowInput)

#define IInputBuffer_MouseClick(This,nX,nY,eAction)	\
    (This)->lpVtbl -> MouseClick(This,nX,nY,eAction)

#define IInputBuffer_get_Status(This,pVal)	\
    (This)->lpVtbl -> get_Status(This,pVal)

#define IInputBuffer_Run(This)	\
    (This)->lpVtbl -> Run(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputBuffer_Clear_Proxy( 
    IInputBuffer __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputBuffer_TypeText_Proxy( 
    IInputBuffer __RPC_FAR * This,
    BSTR strText);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputBuffer_Delay_Proxy( 
    IInputBuffer __RPC_FAR * This,
    long nMilliseconds,
    /* [defaultvalue][optional] */ VARIANT_BOOL bAllowInput);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputBuffer_MouseClick_Proxy( 
    IInputBuffer __RPC_FAR * This,
    long nX,
    long nY,
    enum eMouseInput eAction);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IInputBuffer_get_Status_Proxy( 
    IInputBuffer __RPC_FAR * This,
    /* [retval][out] */ enum eInputStatus __RPC_FAR *pVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputBuffer_Run_Proxy( 
    IInputBuffer __RPC_FAR * This);


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



#endif 	/* __IInputBuffer_INTERFACE_DEFINED__ */


#ifndef __IInputNotify_INTERFACE_DEFINED__
#define __IInputNotify_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IInputNotify;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E288C465-2DD6-4fcd-95E2-5BBC1A1D2D32")
    IInputNotify : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NotifyBegin( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NotifyEnd( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetMousePos( 
            long nX,
            long nY) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NotifyPause( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IInputNotifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IInputNotify __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IInputNotify __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IInputNotify __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IInputNotify __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IInputNotify __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IInputNotify __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IInputNotify __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyBegin )( 
            IInputNotify __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyEnd )( 
            IInputNotify __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMousePos )( 
            IInputNotify __RPC_FAR * This,
            long nX,
            long nY);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyPause )( 
            IInputNotify __RPC_FAR * This);
        
        END_INTERFACE
    } IInputNotifyVtbl;

    interface IInputNotify
    {
        CONST_VTBL struct IInputNotifyVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IInputNotify_NotifyBegin(This)	\
    (This)->lpVtbl -> NotifyBegin(This)

#define IInputNotify_NotifyEnd(This)	\
    (This)->lpVtbl -> NotifyEnd(This)

#define IInputNotify_SetMousePos(This,nX,nY)	\
    (This)->lpVtbl -> SetMousePos(This,nX,nY)

#define IInputNotify_NotifyPause(This)	\
    (This)->lpVtbl -> NotifyPause(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputNotify_NotifyBegin_Proxy( 
    IInputNotify __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputNotify_NotifyEnd_Proxy( 
    IInputNotify __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputNotify_SetMousePos_Proxy( 
    IInputNotify __RPC_FAR * This,
    long nX,
    long nY);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IInputNotify_NotifyPause_Proxy( 
    IInputNotify __RPC_FAR * This);


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



#endif 	/* __IInputNotify_INTERFACE_DEFINED__ */



#ifndef __DecalPlugins_LIBRARY_DEFINED__
#define __DecalPlugins_LIBRARY_DEFINED__

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

































EXTERN_C const IID LIBID_DecalPlugins;

#ifndef __IControlEvents_DISPINTERFACE_DEFINED__
#define __IControlEvents_DISPINTERFACE_DEFINED__

/* dispinterface IControlEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID_IControlEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("2FEBCBC3-488C-444f-AD08-5D3097D2D1ED")
    IControlEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct IControlEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IControlEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IControlEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IControlEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IControlEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IControlEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IControlEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IControlEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } IControlEventsVtbl;

    interface IControlEvents
    {
        CONST_VTBL struct IControlEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define IControlEvents_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 	/* __IControlEvents_DISPINTERFACE_DEFINED__ */


#ifndef __ICommandEvents_DISPINTERFACE_DEFINED__
#define __ICommandEvents_DISPINTERFACE_DEFINED__

/* dispinterface ICommandEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID_ICommandEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("F029D3A1-29AF-45ef-927E-729FEDD87403")
    ICommandEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct ICommandEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICommandEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICommandEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICommandEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ICommandEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ICommandEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ICommandEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ICommandEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } ICommandEventsVtbl;

    interface ICommandEvents
    {
        CONST_VTBL struct ICommandEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define ICommandEvents_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 	/* __ICommandEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IPagerEvents_DISPINTERFACE_DEFINED__
#define __IPagerEvents_DISPINTERFACE_DEFINED__

/* dispinterface IPagerEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID_IPagerEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("7499EB61-6992-4e21-8A55-CF44D44C0A07")
    IPagerEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct IPagerEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPagerEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPagerEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPagerEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IPagerEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IPagerEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IPagerEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IPagerEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } IPagerEventsVtbl;

    interface IPagerEvents
    {
        CONST_VTBL struct IPagerEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define IPagerEvents_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 	/* __IPagerEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IViewEvents_DISPINTERFACE_DEFINED__
#define __IViewEvents_DISPINTERFACE_DEFINED__

/* dispinterface IViewEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID_IViewEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("4B7B19D5-61A2-4ab0-8B1B-381A303A937F")
    IViewEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct IViewEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IViewEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IViewEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IViewEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IViewEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IViewEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IViewEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IViewEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } IViewEventsVtbl;

    interface IViewEvents
    {
        CONST_VTBL struct IViewEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define IViewEvents_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 	/* __IViewEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IInputEvents_DISPINTERFACE_DEFINED__
#define __IInputEvents_DISPINTERFACE_DEFINED__

/* dispinterface IInputEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID_IInputEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("BD33BADC-F909-4eb6-AD15-B1569B58898B")
    IInputEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct IInputEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IInputEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IInputEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IInputEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IInputEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IInputEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IInputEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IInputEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } IInputEventsVtbl;

    interface IInputEvents
    {
        CONST_VTBL struct IInputEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define IInputEvents_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 	/* __IInputEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_Canvas;

#ifdef __cplusplus

class DECLSPEC_UUID("91892F16-31A3-4E23-9CFD-89A5A5174A59")
Canvas;
#endif

EXTERN_C const CLSID CLSID_PluginSite;

#ifdef __cplusplus

class DECLSPEC_UUID("B2FBD583-B64C-4dfc-BAAA-34B8C21482F8")
PluginSite;
#endif

EXTERN_C const CLSID CLSID_Layer;

#ifdef __cplusplus

class DECLSPEC_UUID("6FEA2219-7438-4f76-8165-C47AA060D811")
Layer;
#endif

EXTERN_C const CLSID CLSID_View;

#ifdef __cplusplus

class DECLSPEC_UUID("19BF46E4-5CB8-4CFC-A17A-8E6673E60ABF")
View;
#endif

EXTERN_C const CLSID CLSID_Button;

#ifdef __cplusplus

class DECLSPEC_UUID("C22BF2FC-F144-4d17-9C12-A344F980BB17")
Button;
#endif

EXTERN_C const CLSID CLSID_Pager;

#ifdef __cplusplus

class DECLSPEC_UUID("C79E2F76-06F8-4cd0-A613-4829237D297D")
Pager;
#endif

EXTERN_C const CLSID CLSID_BrushImage;

#ifdef __cplusplus

class DECLSPEC_UUID("918C0333-5714-4C8D-A95C-2C137B76D364")
BrushImage;
#endif

EXTERN_C const CLSID CLSID_InputBuffer;

#ifdef __cplusplus

class DECLSPEC_UUID("2F91FC21-4D89-4B64-94AE-A124D54563AE")
InputBuffer;
#endif
#endif /* __DecalPlugins_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

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

unsigned long             __RPC_USER  HDC_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HDC __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HDC_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HDC __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HDC_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HDC __RPC_FAR * ); 
void                      __RPC_USER  HDC_UserFree(     unsigned long __RPC_FAR *, HDC __RPC_FAR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


