Click here to Skip to main content
15,885,366 members
Articles / Desktop Programming / ATL

OeLibrary 1.0

Rate me:
Please Sign up or sign in to vote.
4.91/5 (19 votes)
22 Aug 2013GPL33 min read 133K   2.5K   56  
Opensource Outlook Express automation library
/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 5.01.0164 */
/* at Fri Feb 29 21:28:18 2008
 */
/* Compiler settings for C:\Documents and Settings\Ankit\Desktop\Outlook Express\Outlook Express\OELib\OELib.idl:
    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
*/
//@@MIDL_FILE_HEADING(  )


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

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

#ifndef __OELib_h__
#define __OELib_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __IApplication_FWD_DEFINED__
#define __IApplication_FWD_DEFINED__
typedef interface IApplication IApplication;
#endif 	/* __IApplication_FWD_DEFINED__ */


#ifndef __DApplicationEvents_FWD_DEFINED__
#define __DApplicationEvents_FWD_DEFINED__
typedef interface DApplicationEvents DApplicationEvents;
#endif 	/* __DApplicationEvents_FWD_DEFINED__ */


#ifndef __Application_FWD_DEFINED__
#define __Application_FWD_DEFINED__

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

#endif 	/* __Application_FWD_DEFINED__ */


#ifndef __IMailFolder_FWD_DEFINED__
#define __IMailFolder_FWD_DEFINED__
typedef interface IMailFolder IMailFolder;
#endif 	/* __IMailFolder_FWD_DEFINED__ */


#ifndef __DFolderEvents_FWD_DEFINED__
#define __DFolderEvents_FWD_DEFINED__
typedef interface DFolderEvents DFolderEvents;
#endif 	/* __DFolderEvents_FWD_DEFINED__ */


#ifndef __MailFolder_FWD_DEFINED__
#define __MailFolder_FWD_DEFINED__

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

#endif 	/* __MailFolder_FWD_DEFINED__ */


#ifndef __IMailItem_FWD_DEFINED__
#define __IMailItem_FWD_DEFINED__
typedef interface IMailItem IMailItem;
#endif 	/* __IMailItem_FWD_DEFINED__ */


#ifndef __IAttachment_FWD_DEFINED__
#define __IAttachment_FWD_DEFINED__
typedef interface IAttachment IAttachment;
#endif 	/* __IAttachment_FWD_DEFINED__ */


#ifndef __MailItem_FWD_DEFINED__
#define __MailItem_FWD_DEFINED__

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

#endif 	/* __MailItem_FWD_DEFINED__ */


#ifndef __Attachment_FWD_DEFINED__
#define __Attachment_FWD_DEFINED__

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

#endif 	/* __Attachment_FWD_DEFINED__ */


#ifndef __IOEToolBand_FWD_DEFINED__
#define __IOEToolBand_FWD_DEFINED__
typedef interface IOEToolBand IOEToolBand;
#endif 	/* __IOEToolBand_FWD_DEFINED__ */


#ifndef __DOEToolBandEvents_FWD_DEFINED__
#define __DOEToolBandEvents_FWD_DEFINED__
typedef interface DOEToolBandEvents DOEToolBandEvents;
#endif 	/* __DOEToolBandEvents_FWD_DEFINED__ */


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


#ifndef __IOEMenu_FWD_DEFINED__
#define __IOEMenu_FWD_DEFINED__
typedef interface IOEMenu IOEMenu;
#endif 	/* __IOEMenu_FWD_DEFINED__ */


#ifndef __IOEMenuItem_FWD_DEFINED__
#define __IOEMenuItem_FWD_DEFINED__
typedef interface IOEMenuItem IOEMenuItem;
#endif 	/* __IOEMenuItem_FWD_DEFINED__ */


#ifndef __OEToolBand_FWD_DEFINED__
#define __OEToolBand_FWD_DEFINED__

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

#endif 	/* __OEToolBand_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 __OEMenu_FWD_DEFINED__
#define __OEMenu_FWD_DEFINED__

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

#endif 	/* __OEMenu_FWD_DEFINED__ */


#ifndef __OEMenuItem_FWD_DEFINED__
#define __OEMenuItem_FWD_DEFINED__

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

#endif 	/* __OEMenuItem_FWD_DEFINED__ */


#ifndef __IOEAccountMgr_FWD_DEFINED__
#define __IOEAccountMgr_FWD_DEFINED__
typedef interface IOEAccountMgr IOEAccountMgr;
#endif 	/* __IOEAccountMgr_FWD_DEFINED__ */


#ifndef __IOEAccount_FWD_DEFINED__
#define __IOEAccount_FWD_DEFINED__
typedef interface IOEAccount IOEAccount;
#endif 	/* __IOEAccount_FWD_DEFINED__ */


#ifndef __OEAccountMgr_FWD_DEFINED__
#define __OEAccountMgr_FWD_DEFINED__

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

#endif 	/* __OEAccountMgr_FWD_DEFINED__ */


#ifndef __OEAccount_FWD_DEFINED__
#define __OEAccount_FWD_DEFINED__

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

#endif 	/* __OEAccount_FWD_DEFINED__ */


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

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

/* interface __MIDL_itf_OELib_0000 */
/* [local] */ 

#ifndef HR_E
#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR,14, n)
#endif
#define E_OENOTALLOWED HR_E(1)
typedef 
enum tagOESPECIALFOLDER
    {	SF_FOLDER_INBOX	= 0,
	SF_FOLDER_OUTBOX	= 1,
	SF_FOLDER_SENT	= 2,
	SF_FOLDER_DELETED	= 3,
	SF_FOLDER_DRAFT	= 4
    }	OESFOLDER;

typedef 
enum tagOEACCTYPE
    {	OE_ACCT_NEWS	= 1,
	OE_ACCT_MAIL	= 2,
	OE_ACCT_DIR	= 4
    }	OEACCTYPE;

typedef 
enum tagOEACCSERVER
    {	OE_SRV_NNTP	= 1,
	OE_SRV_IMAP	= 2,
	OE_SRV_POP3	= 4,
	OE_SRV_SMTP	= 8,
	OE_SRV_IMAPSMPT	= 10,
	OE_SRV_POPSMTP	= 12,
	OE_SRV_LDAP	= 16,
	OE_SRV_HTTPMAIL	= 32,
	OE_SRV_MAIL	= 46,
	OE_SRV_ALL	= 63
    }	OEACCSERVER;

typedef 
enum tagButtonType
    {	OE_TYPE_BUTTON	= 0,
	OE_TYPE_SEPARATOR	= OE_TYPE_BUTTON + 1
    }	ButtonType;

typedef 
enum tagMenuItemType
    {	OE_MENU_STRING	= 0,
	OE_MENU_SEPARATOR	= OE_MENU_STRING + 1
    }	MenuItemType;

typedef 
enum tagMsgPriority
    {	LOW	= 0,
	NORMAL	= LOW + 1,
	HIGH	= NORMAL + 1
    }	MsgPriority;

typedef 
enum tagMsgFlag
    {	MSG_DELETED	= 0x1,
	MSG_UNREAD	= 0x2,
	MSG_SUBMITTED	= 0x4,
	MSG_UNSENT	= 0x8,
	MSG_RECEIVED	= 0x10,
	MSG_NEWSMSG	= 0x20,
	MSG_NOSECUI	= 0x40,
	MSG_VOICEMAIL	= 0x80,
	MSG_REPLIED	= 0x100,
	MSG_FORWARDED	= 0x200,
	MSG_RCPTSENT	= 0x400,
	MSG_FLAGGED	= 0x800,
	MSG_LAST	= 0x200,
	MSG_EXTERNAL_FLAGS	= 0xfe
    }	MsgStateFlag;












extern RPC_IF_HANDLE __MIDL_itf_OELib_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_OELib_0000_v0_0_s_ifspec;


#ifndef __OELib_LIBRARY_DEFINED__
#define __OELib_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_OELib;

#ifndef __IApplication_INTERFACE_DEFINED__
#define __IApplication_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IApplication;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("36F17B5D-7471-4F85-AA69-8F9E84BB5018")
    IApplication : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLocalFolder( 
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppIFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetOEAccounts( 
            /* [retval][out] */ IOEAccountMgr __RPC_FAR *__RPC_FAR *ppAccountMgr) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetToolBand( 
            /* [retval][out] */ IOEToolBand __RPC_FAR *__RPC_FAR *ppNewToolband) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EventNotification( 
            /* [in] */ VARIANT_BOOL bStart) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IApplicationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IApplication __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IApplication __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IApplication __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IApplication __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IApplication __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IApplication __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 )( 
            IApplication __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 *GetLocalFolder )( 
            IApplication __RPC_FAR * This,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppIFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOEAccounts )( 
            IApplication __RPC_FAR * This,
            /* [retval][out] */ IOEAccountMgr __RPC_FAR *__RPC_FAR *ppAccountMgr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetToolBand )( 
            IApplication __RPC_FAR * This,
            /* [retval][out] */ IOEToolBand __RPC_FAR *__RPC_FAR *ppNewToolband);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EventNotification )( 
            IApplication __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL bStart);
        
        END_INTERFACE
    } IApplicationVtbl;

    interface IApplication
    {
        CONST_VTBL struct IApplicationVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IApplication_GetLocalFolder(This,ppIFolder)	\
    (This)->lpVtbl -> GetLocalFolder(This,ppIFolder)

#define IApplication_GetOEAccounts(This,ppAccountMgr)	\
    (This)->lpVtbl -> GetOEAccounts(This,ppAccountMgr)

#define IApplication_GetToolBand(This,ppNewToolband)	\
    (This)->lpVtbl -> GetToolBand(This,ppNewToolband)

#define IApplication_EventNotification(This,bStart)	\
    (This)->lpVtbl -> EventNotification(This,bStart)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IApplication_GetLocalFolder_Proxy( 
    IApplication __RPC_FAR * This,
    /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppIFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IApplication_GetOEAccounts_Proxy( 
    IApplication __RPC_FAR * This,
    /* [retval][out] */ IOEAccountMgr __RPC_FAR *__RPC_FAR *ppAccountMgr);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IApplication_GetToolBand_Proxy( 
    IApplication __RPC_FAR * This,
    /* [retval][out] */ IOEToolBand __RPC_FAR *__RPC_FAR *ppNewToolband);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IApplication_EventNotification_Proxy( 
    IApplication __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL bStart);


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



#endif 	/* __IApplication_INTERFACE_DEFINED__ */


#ifndef __DApplicationEvents_DISPINTERFACE_DEFINED__
#define __DApplicationEvents_DISPINTERFACE_DEFINED__

/* dispinterface DApplicationEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID_DApplicationEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("450A9DC4-8147-4C3E-8099-579A1E3D1BF6")
    DApplicationEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DApplicationEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            DApplicationEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            DApplicationEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            DApplicationEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            DApplicationEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            DApplicationEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            DApplicationEvents __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 )( 
            DApplicationEvents __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
    } DApplicationEventsVtbl;

    interface DApplicationEvents
    {
        CONST_VTBL struct DApplicationEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define DApplicationEvents_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 	/* __DApplicationEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_Application;

#ifdef __cplusplus

class DECLSPEC_UUID("8D35F544-129B-4FD5-829A-5B6AD18CEA21")
Application;
#endif

#ifndef __IMailFolder_INTERFACE_DEFINED__
#define __IMailFolder_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IMailFolder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DB0A6B4B-9F9F-460E-9D6C-12C5121A5CD0")
    IMailFolder : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FOLDERID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsSpecial( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubFolderCount( 
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Messages( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnRead( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetNotification( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSpecialFolder( 
            /* [in] */ OESFOLDER sfFolder,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *p) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR newFolderName,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ IMailFolder __RPC_FAR *ParentFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Rename( 
            /* [in] */ BSTR bstNewName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstSubFolder( 
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextSubFolder( 
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFolderByID( 
            /* [in] */ long lFolderID,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubFolderbyName( 
            /* [in] */ BSTR FolderName,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstMessage( 
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextMessage( 
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMessageByID( 
            /* [in] */ long MessageID,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateMessage( 
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppMessage) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveMessage( 
            /* [out][in] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloneMessageByID( 
            /* [in] */ long MsgID,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloneMessageByObject( 
            /* [in] */ IMailItem __RPC_FAR *pOldMessage,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMailFolderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMailFolder __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMailFolder __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IMailFolder __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IMailFolder __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 )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FOLDERID )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsSpecial )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SubFolderCount )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Messages )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnRead )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetNotification )( 
            IMailFolder __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecialFolder )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ OESFOLDER sfFolder,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *p);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ BSTR newFolderName,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IMailFolder __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ IMailFolder __RPC_FAR *ParentFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rename )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ BSTR bstNewName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFirstSubFolder )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextSubFolder )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFolderByID )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ long lFolderID,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSubFolderbyName )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ BSTR FolderName,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFirstMessage )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextMessage )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMessageByID )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ long MessageID,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateMessage )( 
            IMailFolder __RPC_FAR * This,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppMessage);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveMessage )( 
            IMailFolder __RPC_FAR * This,
            /* [out][in] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloneMessageByID )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ long MsgID,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloneMessageByObject )( 
            IMailFolder __RPC_FAR * This,
            /* [in] */ IMailItem __RPC_FAR *pOldMessage,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);
        
        END_INTERFACE
    } IMailFolderVtbl;

    interface IMailFolder
    {
        CONST_VTBL struct IMailFolderVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IMailFolder_get_FOLDERID(This,pVal)	\
    (This)->lpVtbl -> get_FOLDERID(This,pVal)

#define IMailFolder_get_IsSpecial(This,pVal)	\
    (This)->lpVtbl -> get_IsSpecial(This,pVal)

#define IMailFolder_get_SubFolderCount(This,pVal)	\
    (This)->lpVtbl -> get_SubFolderCount(This,pVal)

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

#define IMailFolder_get_Messages(This,pVal)	\
    (This)->lpVtbl -> get_Messages(This,pVal)

#define IMailFolder_get_UnRead(This,pVal)	\
    (This)->lpVtbl -> get_UnRead(This,pVal)

#define IMailFolder_SetNotification(This)	\
    (This)->lpVtbl -> SetNotification(This)

#define IMailFolder_GetSpecialFolder(This,sfFolder,p)	\
    (This)->lpVtbl -> GetSpecialFolder(This,sfFolder,p)

#define IMailFolder_Add(This,newFolderName,ppFolder)	\
    (This)->lpVtbl -> Add(This,newFolderName,ppFolder)

#define IMailFolder_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMailFolder_Move(This,ParentFolder)	\
    (This)->lpVtbl -> Move(This,ParentFolder)

#define IMailFolder_Rename(This,bstNewName)	\
    (This)->lpVtbl -> Rename(This,bstNewName)

#define IMailFolder_GetFirstSubFolder(This,ppNewFolder)	\
    (This)->lpVtbl -> GetFirstSubFolder(This,ppNewFolder)

#define IMailFolder_GetNextSubFolder(This,ppNewFolder)	\
    (This)->lpVtbl -> GetNextSubFolder(This,ppNewFolder)

#define IMailFolder_GetFolderByID(This,lFolderID,ppNewFolder)	\
    (This)->lpVtbl -> GetFolderByID(This,lFolderID,ppNewFolder)

#define IMailFolder_GetSubFolderbyName(This,FolderName,ppFolder)	\
    (This)->lpVtbl -> GetSubFolderbyName(This,FolderName,ppFolder)

#define IMailFolder_GetFirstMessage(This,ppIMailItem)	\
    (This)->lpVtbl -> GetFirstMessage(This,ppIMailItem)

#define IMailFolder_GetNextMessage(This,ppIMailItem)	\
    (This)->lpVtbl -> GetNextMessage(This,ppIMailItem)

#define IMailFolder_GetMessageByID(This,MessageID,ppIMailItem)	\
    (This)->lpVtbl -> GetMessageByID(This,MessageID,ppIMailItem)

#define IMailFolder_CreateMessage(This,ppMessage)	\
    (This)->lpVtbl -> CreateMessage(This,ppMessage)

#define IMailFolder_SaveMessage(This,ppIMailItem)	\
    (This)->lpVtbl -> SaveMessage(This,ppIMailItem)

#define IMailFolder_CloneMessageByID(This,MsgID,ppIMailItem)	\
    (This)->lpVtbl -> CloneMessageByID(This,MsgID,ppIMailItem)

#define IMailFolder_CloneMessageByObject(This,pOldMessage,ppIMailItem)	\
    (This)->lpVtbl -> CloneMessageByObject(This,pOldMessage,ppIMailItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



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


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailFolder_get_IsSpecial_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailFolder_get_SubFolderCount_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [retval][out] */ short __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailFolder_get_Name_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


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


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


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


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_SetNotification_Proxy( 
    IMailFolder __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_GetSpecialFolder_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ OESFOLDER sfFolder,
    /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *p);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_Add_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ BSTR newFolderName,
    /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_Delete_Proxy( 
    IMailFolder __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_Move_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ IMailFolder __RPC_FAR *ParentFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_Rename_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ BSTR bstNewName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_GetFirstSubFolder_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_GetNextSubFolder_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_GetFolderByID_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ long lFolderID,
    /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppNewFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_GetSubFolderbyName_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ BSTR FolderName,
    /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_GetFirstMessage_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_GetNextMessage_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_GetMessageByID_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ long MessageID,
    /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_CreateMessage_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppMessage);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_SaveMessage_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [out][in] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_CloneMessageByID_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ long MsgID,
    /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailFolder_CloneMessageByObject_Proxy( 
    IMailFolder __RPC_FAR * This,
    /* [in] */ IMailItem __RPC_FAR *pOldMessage,
    /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppIMailItem);


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



#endif 	/* __IMailFolder_INTERFACE_DEFINED__ */


#ifndef __DFolderEvents_DISPINTERFACE_DEFINED__
#define __DFolderEvents_DISPINTERFACE_DEFINED__

/* dispinterface DFolderEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID_DFolderEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("DDA49A26-64E8-452E-91A4-EE947E37B296")
    DFolderEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DFolderEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            DFolderEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            DFolderEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            DFolderEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            DFolderEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            DFolderEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            DFolderEvents __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 )( 
            DFolderEvents __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
    } DFolderEventsVtbl;

    interface DFolderEvents
    {
        CONST_VTBL struct DFolderEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define DFolderEvents_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 	/* __DFolderEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_MailFolder;

#ifdef __cplusplus

class DECLSPEC_UUID("B738F3DA-7B1B-4BA8-8FB3-5D64C518AC4F")
MailFolder;
#endif

#ifndef __IMailItem_INTERFACE_DEFINED__
#define __IMailItem_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IMailItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3520E9F9-3ABF-446E-85B6-00E45C2A287E")
    IMailItem : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentFolderID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][hidden][restricted][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentFolderID( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MessageID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AttachmentCount( 
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Read( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Read( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ IMailFolder __RPC_FAR *pIFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Copy( 
            /* [in] */ IMailFolder __RPC_FAR *pIFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Body( 
            /* [retval][out] */ BSTR __RPC_FAR *bstTextBody) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstAttachment( 
            /* [retval][out] */ IAttachment __RPC_FAR *__RPC_FAR *ppAttachment) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextAttachment( 
            /* [retval][out] */ IAttachment __RPC_FAR *__RPC_FAR *ppAttachment) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MsgState( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_To( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_To( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_From( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_From( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Subject( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Subject( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Priority( 
            /* [retval][out] */ MsgPriority __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Priority( 
            /* [in] */ MsgPriority newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBody( 
            /* [in] */ BSTR BodyMsg) = 0;
        
        virtual /* [hidden][local][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SetReadOnly( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [hidden][local][helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SetReadOnly( 
            /* [in] */ BOOL newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMailItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMailItem __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMailItem __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IMailItem __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IMailItem __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 )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ParentFolderID )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][hidden][restricted][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ParentFolderID )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MessageID )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AttachmentCount )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Read )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Read )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ IMailFolder __RPC_FAR *pIFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ IMailFolder __RPC_FAR *pIFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IMailItem __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Body )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *bstTextBody);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFirstAttachment )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ IAttachment __RPC_FAR *__RPC_FAR *ppAttachment);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextAttachment )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ IAttachment __RPC_FAR *__RPC_FAR *ppAttachment);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MsgState )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_To )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_To )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_From )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_From )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Subject )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Subject )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Priority )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ MsgPriority __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Priority )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ MsgPriority newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBody )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ BSTR BodyMsg);
        
        /* [hidden][local][helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SetReadOnly )( 
            IMailItem __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [hidden][local][helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SetReadOnly )( 
            IMailItem __RPC_FAR * This,
            /* [in] */ BOOL newVal);
        
        END_INTERFACE
    } IMailItemVtbl;

    interface IMailItem
    {
        CONST_VTBL struct IMailItemVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IMailItem_get_ParentFolderID(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolderID(This,pVal)

#define IMailItem_put_ParentFolderID(This,newVal)	\
    (This)->lpVtbl -> put_ParentFolderID(This,newVal)

#define IMailItem_get_MessageID(This,pVal)	\
    (This)->lpVtbl -> get_MessageID(This,pVal)

#define IMailItem_get_AttachmentCount(This,pVal)	\
    (This)->lpVtbl -> get_AttachmentCount(This,pVal)

#define IMailItem_get_Read(This,pVal)	\
    (This)->lpVtbl -> get_Read(This,pVal)

#define IMailItem_put_Read(This,newVal)	\
    (This)->lpVtbl -> put_Read(This,newVal)

#define IMailItem_Move(This,pIFolder)	\
    (This)->lpVtbl -> Move(This,pIFolder)

#define IMailItem_Copy(This,pIFolder)	\
    (This)->lpVtbl -> Copy(This,pIFolder)

#define IMailItem_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMailItem_Body(This,bstTextBody)	\
    (This)->lpVtbl -> Body(This,bstTextBody)

#define IMailItem_GetFirstAttachment(This,ppAttachment)	\
    (This)->lpVtbl -> GetFirstAttachment(This,ppAttachment)

#define IMailItem_GetNextAttachment(This,ppAttachment)	\
    (This)->lpVtbl -> GetNextAttachment(This,ppAttachment)

#define IMailItem_get_MsgState(This,pVal)	\
    (This)->lpVtbl -> get_MsgState(This,pVal)

#define IMailItem_get_To(This,pVal)	\
    (This)->lpVtbl -> get_To(This,pVal)

#define IMailItem_put_To(This,newVal)	\
    (This)->lpVtbl -> put_To(This,newVal)

#define IMailItem_get_From(This,pVal)	\
    (This)->lpVtbl -> get_From(This,pVal)

#define IMailItem_put_From(This,newVal)	\
    (This)->lpVtbl -> put_From(This,newVal)

#define IMailItem_get_Subject(This,pVal)	\
    (This)->lpVtbl -> get_Subject(This,pVal)

#define IMailItem_put_Subject(This,newVal)	\
    (This)->lpVtbl -> put_Subject(This,newVal)

#define IMailItem_get_Priority(This,pVal)	\
    (This)->lpVtbl -> get_Priority(This,pVal)

#define IMailItem_put_Priority(This,newVal)	\
    (This)->lpVtbl -> put_Priority(This,newVal)

#define IMailItem_SetBody(This,BodyMsg)	\
    (This)->lpVtbl -> SetBody(This,BodyMsg)

#define IMailItem_get_SetReadOnly(This,pVal)	\
    (This)->lpVtbl -> get_SetReadOnly(This,pVal)

#define IMailItem_put_SetReadOnly(This,newVal)	\
    (This)->lpVtbl -> put_SetReadOnly(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



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


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


/* [helpstring][hidden][restricted][id][propput] */ HRESULT STDMETHODCALLTYPE IMailItem_put_ParentFolderID_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ long newVal);


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


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


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailItem_get_AttachmentCount_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ short __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailItem_get_Read_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMailItem_put_Read_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL newVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailItem_Move_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ IMailFolder __RPC_FAR *pIFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailItem_Copy_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ IMailFolder __RPC_FAR *pIFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailItem_Delete_Proxy( 
    IMailItem __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailItem_Body_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *bstTextBody);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailItem_GetFirstAttachment_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ IAttachment __RPC_FAR *__RPC_FAR *ppAttachment);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailItem_GetNextAttachment_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ IAttachment __RPC_FAR *__RPC_FAR *ppAttachment);


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


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


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailItem_get_To_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMailItem_put_To_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailItem_get_From_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMailItem_put_From_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailItem_get_Subject_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMailItem_put_Subject_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailItem_get_Priority_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ MsgPriority __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMailItem_put_Priority_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ MsgPriority newVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailItem_SetBody_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ BSTR BodyMsg);


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


/* [hidden][local][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMailItem_get_SetReadOnly_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


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


/* [hidden][local][helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMailItem_put_SetReadOnly_Proxy( 
    IMailItem __RPC_FAR * This,
    /* [in] */ BOOL newVal);


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



#endif 	/* __IMailItem_INTERFACE_DEFINED__ */


#ifndef __IAttachment_INTERFACE_DEFINED__
#define __IAttachment_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IAttachment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("060E0DB1-7DBC-4B29-B094-4FAE1840FD13")
    IAttachment : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveToFile( 
            /* [in] */ BSTR bstFilePath) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EstimatedSize( 
            /* [retval][out] */ float __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAttachmentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAttachment __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAttachment __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAttachment __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IAttachment __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IAttachment __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IAttachment __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 )( 
            IAttachment __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 *SaveToFile )( 
            IAttachment __RPC_FAR * This,
            /* [in] */ BSTR bstFilePath);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DisplayName )( 
            IAttachment __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EstimatedSize )( 
            IAttachment __RPC_FAR * This,
            /* [retval][out] */ float __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FileName )( 
            IAttachment __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        END_INTERFACE
    } IAttachmentVtbl;

    interface IAttachment
    {
        CONST_VTBL struct IAttachmentVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IAttachment_SaveToFile(This,bstFilePath)	\
    (This)->lpVtbl -> SaveToFile(This,bstFilePath)

#define IAttachment_get_DisplayName(This,pVal)	\
    (This)->lpVtbl -> get_DisplayName(This,pVal)

#define IAttachment_get_EstimatedSize(This,pVal)	\
    (This)->lpVtbl -> get_EstimatedSize(This,pVal)

#define IAttachment_get_FileName(This,pVal)	\
    (This)->lpVtbl -> get_FileName(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IAttachment_SaveToFile_Proxy( 
    IAttachment __RPC_FAR * This,
    /* [in] */ BSTR bstFilePath);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAttachment_get_DisplayName_Proxy( 
    IAttachment __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAttachment_get_EstimatedSize_Proxy( 
    IAttachment __RPC_FAR * This,
    /* [retval][out] */ float __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAttachment_get_FileName_Proxy( 
    IAttachment __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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



#endif 	/* __IAttachment_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_MailItem;

#ifdef __cplusplus

class DECLSPEC_UUID("4B551034-A812-4F4B-8A61-B08168D1AB39")
MailItem;
#endif

EXTERN_C const CLSID CLSID_Attachment;

#ifdef __cplusplus

class DECLSPEC_UUID("0F93BB5F-9509-4A9A-80FE-E559DFD3174E")
Attachment;
#endif

#ifndef __IOEToolBand_INTERFACE_DEFINED__
#define __IOEToolBand_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IOEToolBand;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("518CDD20-8975-4940-97BF-DC5473226627")
    IOEToolBand : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InitializeToolBand( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddButton( 
            /* [in] */ ButtonType Type,
            /* [in] */ BSTR bstDisplayName,
            /* [in] */ BSTR bstImagePath,
            /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppButton) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstButton( 
            /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextButton( 
            /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddLogo( 
            /* [in] */ BSTR bstImagePath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetButtonByID( 
            long ButtonID,
            /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ButtonCount( 
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelectedFolder( 
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelectedMessage( 
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppNewMsg) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddMenu( 
            /* [in] */ BSTR bstDisplayName,
            /* [in] */ BSTR bstImagePath,
            /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *ppOEMenu) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddMenuItem( 
            /* [in] */ IOEMenu __RPC_FAR *pOEMenu,
            /* [out][in] */ IOEMenuItem __RPC_FAR *__RPC_FAR *pOEMenuItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstMenu( 
            /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *pOEMenu) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextMenu( 
            /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *pOEMenu) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMenuByID( 
            /* [in] */ long menuID,
            /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *ppOEMenu) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOEToolBandVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IOEToolBand __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IOEToolBand __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IOEToolBand __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IOEToolBand __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IOEToolBand __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IOEToolBand __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 )( 
            IOEToolBand __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 *InitializeToolBand )( 
            IOEToolBand __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddButton )( 
            IOEToolBand __RPC_FAR * This,
            /* [in] */ ButtonType Type,
            /* [in] */ BSTR bstDisplayName,
            /* [in] */ BSTR bstImagePath,
            /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppButton);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFirstButton )( 
            IOEToolBand __RPC_FAR * This,
            /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextButton )( 
            IOEToolBand __RPC_FAR * This,
            /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLogo )( 
            IOEToolBand __RPC_FAR * This,
            /* [in] */ BSTR bstImagePath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetButtonByID )( 
            IOEToolBand __RPC_FAR * This,
            long ButtonID,
            /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ButtonCount )( 
            IOEToolBand __RPC_FAR * This,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSelectedFolder )( 
            IOEToolBand __RPC_FAR * This,
            /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSelectedMessage )( 
            IOEToolBand __RPC_FAR * This,
            /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppNewMsg);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMenu )( 
            IOEToolBand __RPC_FAR * This,
            /* [in] */ BSTR bstDisplayName,
            /* [in] */ BSTR bstImagePath,
            /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *ppOEMenu);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMenuItem )( 
            IOEToolBand __RPC_FAR * This,
            /* [in] */ IOEMenu __RPC_FAR *pOEMenu,
            /* [out][in] */ IOEMenuItem __RPC_FAR *__RPC_FAR *pOEMenuItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFirstMenu )( 
            IOEToolBand __RPC_FAR * This,
            /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *pOEMenu);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextMenu )( 
            IOEToolBand __RPC_FAR * This,
            /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *pOEMenu);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMenuByID )( 
            IOEToolBand __RPC_FAR * This,
            /* [in] */ long menuID,
            /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *ppOEMenu);
        
        END_INTERFACE
    } IOEToolBandVtbl;

    interface IOEToolBand
    {
        CONST_VTBL struct IOEToolBandVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IOEToolBand_InitializeToolBand(This)	\
    (This)->lpVtbl -> InitializeToolBand(This)

#define IOEToolBand_AddButton(This,Type,bstDisplayName,bstImagePath,ppButton)	\
    (This)->lpVtbl -> AddButton(This,Type,bstDisplayName,bstImagePath,ppButton)

#define IOEToolBand_GetFirstButton(This,ppIButton)	\
    (This)->lpVtbl -> GetFirstButton(This,ppIButton)

#define IOEToolBand_GetNextButton(This,ppIButton)	\
    (This)->lpVtbl -> GetNextButton(This,ppIButton)

#define IOEToolBand_AddLogo(This,bstImagePath)	\
    (This)->lpVtbl -> AddLogo(This,bstImagePath)

#define IOEToolBand_GetButtonByID(This,ButtonID,ppIButton)	\
    (This)->lpVtbl -> GetButtonByID(This,ButtonID,ppIButton)

#define IOEToolBand_get_ButtonCount(This,pVal)	\
    (This)->lpVtbl -> get_ButtonCount(This,pVal)

#define IOEToolBand_GetSelectedFolder(This,ppFolder)	\
    (This)->lpVtbl -> GetSelectedFolder(This,ppFolder)

#define IOEToolBand_GetSelectedMessage(This,ppNewMsg)	\
    (This)->lpVtbl -> GetSelectedMessage(This,ppNewMsg)

#define IOEToolBand_AddMenu(This,bstDisplayName,bstImagePath,ppOEMenu)	\
    (This)->lpVtbl -> AddMenu(This,bstDisplayName,bstImagePath,ppOEMenu)

#define IOEToolBand_AddMenuItem(This,pOEMenu,pOEMenuItem)	\
    (This)->lpVtbl -> AddMenuItem(This,pOEMenu,pOEMenuItem)

#define IOEToolBand_GetFirstMenu(This,pOEMenu)	\
    (This)->lpVtbl -> GetFirstMenu(This,pOEMenu)

#define IOEToolBand_GetNextMenu(This,pOEMenu)	\
    (This)->lpVtbl -> GetNextMenu(This,pOEMenu)

#define IOEToolBand_GetMenuByID(This,menuID,ppOEMenu)	\
    (This)->lpVtbl -> GetMenuByID(This,menuID,ppOEMenu)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_InitializeToolBand_Proxy( 
    IOEToolBand __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_AddButton_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [in] */ ButtonType Type,
    /* [in] */ BSTR bstDisplayName,
    /* [in] */ BSTR bstImagePath,
    /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppButton);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_GetFirstButton_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_GetNextButton_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_AddLogo_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [in] */ BSTR bstImagePath);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_GetButtonByID_Proxy( 
    IOEToolBand __RPC_FAR * This,
    long ButtonID,
    /* [retval][out] */ IButton __RPC_FAR *__RPC_FAR *ppIButton);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEToolBand_get_ButtonCount_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [retval][out] */ short __RPC_FAR *pVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_GetSelectedFolder_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [retval][out] */ IMailFolder __RPC_FAR *__RPC_FAR *ppFolder);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_GetSelectedMessage_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [retval][out] */ IMailItem __RPC_FAR *__RPC_FAR *ppNewMsg);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_AddMenu_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [in] */ BSTR bstDisplayName,
    /* [in] */ BSTR bstImagePath,
    /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *ppOEMenu);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_AddMenuItem_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [in] */ IOEMenu __RPC_FAR *pOEMenu,
    /* [out][in] */ IOEMenuItem __RPC_FAR *__RPC_FAR *pOEMenuItem);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_GetFirstMenu_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *pOEMenu);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_GetNextMenu_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *pOEMenu);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEToolBand_GetMenuByID_Proxy( 
    IOEToolBand __RPC_FAR * This,
    /* [in] */ long menuID,
    /* [retval][out] */ IOEMenu __RPC_FAR *__RPC_FAR *ppOEMenu);


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



#endif 	/* __IOEToolBand_INTERFACE_DEFINED__ */


#ifndef __DOEToolBandEvents_DISPINTERFACE_DEFINED__
#define __DOEToolBandEvents_DISPINTERFACE_DEFINED__

/* dispinterface DOEToolBandEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID_DOEToolBandEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("50D2A136-00F6-4CF0-8C3D-7F9DB8115459")
    DOEToolBandEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DOEToolBandEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            DOEToolBandEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            DOEToolBandEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            DOEToolBandEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            DOEToolBandEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            DOEToolBandEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            DOEToolBandEvents __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 )( 
            DOEToolBandEvents __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
    } DOEToolBandEventsVtbl;

    interface DOEToolBandEvents
    {
        CONST_VTBL struct DOEToolBandEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define DOEToolBandEvents_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 	/* __DOEToolBandEvents_DISPINTERFACE_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("5398A6B0-B7E8-4670-9C17-5A968CD147F8")
    IButton : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ImagePath( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Enable( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Enable( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Show( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Show( 
            /* [in] */ VARIANT_BOOL 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][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DisplayName )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ImagePath )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ID )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Enable )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Enable )( 
            IButton __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Show )( 
            IButton __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Show )( 
            IButton __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL 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_get_DisplayName(This,pVal)	\
    (This)->lpVtbl -> get_DisplayName(This,pVal)

#define IButton_get_ImagePath(This,pVal)	\
    (This)->lpVtbl -> get_ImagePath(This,pVal)

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

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

#define IButton_get_Enable(This,pVal)	\
    (This)->lpVtbl -> get_Enable(This,pVal)

#define IButton_put_Enable(This,newVal)	\
    (This)->lpVtbl -> put_Enable(This,newVal)

#define IButton_get_Show(This,pVal)	\
    (This)->lpVtbl -> get_Show(This,pVal)

#define IButton_put_Show(This,newVal)	\
    (This)->lpVtbl -> put_Show(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



#endif 	/* __IButton_INTERFACE_DEFINED__ */


#ifndef __IOEMenu_INTERFACE_DEFINED__
#define __IOEMenu_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IOEMenu;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E1235B3A-D275-4E0C-B01D-E5A5FF205733")
    IOEMenu : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MenuID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MenuImagePath( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Enable( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Enable( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstMenuItem( 
            /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextMenuItem( 
            /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMenuItemByID( 
            /* [in] */ long ID,
            /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOEMenuVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IOEMenu __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IOEMenu __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IOEMenu __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IOEMenu __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IOEMenu __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IOEMenu __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 )( 
            IOEMenu __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MenuID )( 
            IOEMenu __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DisplayName )( 
            IOEMenu __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MenuImagePath )( 
            IOEMenu __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Enable )( 
            IOEMenu __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Enable )( 
            IOEMenu __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFirstMenuItem )( 
            IOEMenu __RPC_FAR * This,
            /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextMenuItem )( 
            IOEMenu __RPC_FAR * This,
            /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMenuItemByID )( 
            IOEMenu __RPC_FAR * This,
            /* [in] */ long ID,
            /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem);
        
        END_INTERFACE
    } IOEMenuVtbl;

    interface IOEMenu
    {
        CONST_VTBL struct IOEMenuVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IOEMenu_get_MenuID(This,pVal)	\
    (This)->lpVtbl -> get_MenuID(This,pVal)

#define IOEMenu_get_DisplayName(This,pVal)	\
    (This)->lpVtbl -> get_DisplayName(This,pVal)

#define IOEMenu_get_MenuImagePath(This,pVal)	\
    (This)->lpVtbl -> get_MenuImagePath(This,pVal)

#define IOEMenu_get_Enable(This,pVal)	\
    (This)->lpVtbl -> get_Enable(This,pVal)

#define IOEMenu_put_Enable(This,newVal)	\
    (This)->lpVtbl -> put_Enable(This,newVal)

#define IOEMenu_GetFirstMenuItem(This,ppIOEMenuItem)	\
    (This)->lpVtbl -> GetFirstMenuItem(This,ppIOEMenuItem)

#define IOEMenu_GetNextMenuItem(This,ppIOEMenuItem)	\
    (This)->lpVtbl -> GetNextMenuItem(This,ppIOEMenuItem)

#define IOEMenu_GetMenuItemByID(This,ID,ppIOEMenuItem)	\
    (This)->lpVtbl -> GetMenuItemByID(This,ID,ppIOEMenuItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



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


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenu_get_DisplayName_Proxy( 
    IOEMenu __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenu_get_MenuImagePath_Proxy( 
    IOEMenu __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenu_get_Enable_Proxy( 
    IOEMenu __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenu_put_Enable_Proxy( 
    IOEMenu __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL newVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEMenu_GetFirstMenuItem_Proxy( 
    IOEMenu __RPC_FAR * This,
    /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEMenu_GetNextMenuItem_Proxy( 
    IOEMenu __RPC_FAR * This,
    /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEMenu_GetMenuItemByID_Proxy( 
    IOEMenu __RPC_FAR * This,
    /* [in] */ long ID,
    /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *ppIOEMenuItem);


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



#endif 	/* __IOEMenu_INTERFACE_DEFINED__ */


#ifndef __IOEMenuItem_INTERFACE_DEFINED__
#define __IOEMenuItem_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IOEMenuItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D4ACB517-5E3C-4CD4-9EB5-59D729BA9D22")
    IOEMenuItem : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ImagePath( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ImagePath( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MenuItemType( 
            /* [retval][out] */ MenuItemType __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_MenuItemType( 
            /* [in] */ MenuItemType newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubMenu( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubMenu( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][restricted][local][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentID( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MenuItemID( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][restricted][local][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_MenuItemID( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Enable( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Enable( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetHMenuPtr( 
            /* [out] */ long __RPC_FAR *phMenu) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pParentItem( 
            /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pParentItem( 
            /* [in] */ IOEMenuItem __RPC_FAR *newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
            /* [in] */ BSTR newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOEMenuItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IOEMenuItem __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IOEMenuItem __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IOEMenuItem __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IOEMenuItem __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 )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ImagePath )( 
            IOEMenuItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ImagePath )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MenuItemType )( 
            IOEMenuItem __RPC_FAR * This,
            /* [retval][out] */ MenuItemType __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MenuItemType )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ MenuItemType newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SubMenu )( 
            IOEMenuItem __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SubMenu )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ParentID )( 
            IOEMenuItem __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][restricted][local][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ParentID )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MenuItemID )( 
            IOEMenuItem __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][restricted][local][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MenuItemID )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Enable )( 
            IOEMenuItem __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Enable )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHMenuPtr )( 
            IOEMenuItem __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *phMenu);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pParentItem )( 
            IOEMenuItem __RPC_FAR * This,
            /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pParentItem )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ IOEMenuItem __RPC_FAR *newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DisplayName )( 
            IOEMenuItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DisplayName )( 
            IOEMenuItem __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        END_INTERFACE
    } IOEMenuItemVtbl;

    interface IOEMenuItem
    {
        CONST_VTBL struct IOEMenuItemVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IOEMenuItem_get_ImagePath(This,pVal)	\
    (This)->lpVtbl -> get_ImagePath(This,pVal)

#define IOEMenuItem_put_ImagePath(This,newVal)	\
    (This)->lpVtbl -> put_ImagePath(This,newVal)

#define IOEMenuItem_get_MenuItemType(This,pVal)	\
    (This)->lpVtbl -> get_MenuItemType(This,pVal)

#define IOEMenuItem_put_MenuItemType(This,newVal)	\
    (This)->lpVtbl -> put_MenuItemType(This,newVal)

#define IOEMenuItem_get_SubMenu(This,pVal)	\
    (This)->lpVtbl -> get_SubMenu(This,pVal)

#define IOEMenuItem_put_SubMenu(This,newVal)	\
    (This)->lpVtbl -> put_SubMenu(This,newVal)

#define IOEMenuItem_get_ParentID(This,pVal)	\
    (This)->lpVtbl -> get_ParentID(This,pVal)

#define IOEMenuItem_put_ParentID(This,newVal)	\
    (This)->lpVtbl -> put_ParentID(This,newVal)

#define IOEMenuItem_get_MenuItemID(This,pVal)	\
    (This)->lpVtbl -> get_MenuItemID(This,pVal)

#define IOEMenuItem_put_MenuItemID(This,newVal)	\
    (This)->lpVtbl -> put_MenuItemID(This,newVal)

#define IOEMenuItem_get_Enable(This,pVal)	\
    (This)->lpVtbl -> get_Enable(This,pVal)

#define IOEMenuItem_put_Enable(This,newVal)	\
    (This)->lpVtbl -> put_Enable(This,newVal)

#define IOEMenuItem_GetHMenuPtr(This,phMenu)	\
    (This)->lpVtbl -> GetHMenuPtr(This,phMenu)

#define IOEMenuItem_get_pParentItem(This,pVal)	\
    (This)->lpVtbl -> get_pParentItem(This,pVal)

#define IOEMenuItem_put_pParentItem(This,newVal)	\
    (This)->lpVtbl -> put_pParentItem(This,newVal)

#define IOEMenuItem_get_DisplayName(This,pVal)	\
    (This)->lpVtbl -> get_DisplayName(This,pVal)

#define IOEMenuItem_put_DisplayName(This,newVal)	\
    (This)->lpVtbl -> put_DisplayName(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_get_ImagePath_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_put_ImagePath_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_get_MenuItemType_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [retval][out] */ MenuItemType __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_put_MenuItemType_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [in] */ MenuItemType newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_get_SubMenu_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_put_SubMenu_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL newVal);


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


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


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


/* [helpstring][restricted][local][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_put_ParentID_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [in] */ long newVal);


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


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


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


/* [helpstring][restricted][local][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_put_MenuItemID_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [in] */ long newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_get_Enable_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_put_Enable_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL newVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_GetHMenuPtr_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *phMenu);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_get_pParentItem_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [retval][out] */ IOEMenuItem __RPC_FAR *__RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_put_pParentItem_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [in] */ IOEMenuItem __RPC_FAR *newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_get_DisplayName_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEMenuItem_put_DisplayName_Proxy( 
    IOEMenuItem __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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



#endif 	/* __IOEMenuItem_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_OEToolBand;

#ifdef __cplusplus

class DECLSPEC_UUID("DD7E3CF5-8938-41A8-BC24-58AFBE17154C")
OEToolBand;
#endif

EXTERN_C const CLSID CLSID_Button;

#ifdef __cplusplus

class DECLSPEC_UUID("024E4D52-225F-4430-80A7-10EACB7118ED")
Button;
#endif

EXTERN_C const CLSID CLSID_OEMenu;

#ifdef __cplusplus

class DECLSPEC_UUID("C79B15C3-B3AE-4AA4-BCC6-47CEC0A846D8")
OEMenu;
#endif

EXTERN_C const CLSID CLSID_OEMenuItem;

#ifdef __cplusplus

class DECLSPEC_UUID("8513235D-49B6-43FA-B531-2FBC159B6177")
OEMenuItem;
#endif

#ifndef __IOEAccountMgr_INTERFACE_DEFINED__
#define __IOEAccountMgr_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IOEAccountMgr;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C0A2BFF9-7E6C-4C20-A923-652ED52C4BCA")
    IOEAccountMgr : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstAccount( 
            /* [in] */ OEACCSERVER acctType,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextAccount( 
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDefaultAccount( 
            /* [in] */ OEACCTYPE acctType,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAccountByID( 
            /* [in] */ BSTR bstAccID,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateNewAccount( 
            /* [in] */ OEACCTYPE acctType,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AccountCount( 
            /* [in] */ OEACCSERVER acctType,
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOEAccountMgrVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IOEAccountMgr __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IOEAccountMgr __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IOEAccountMgr __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 )( 
            IOEAccountMgr __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 *GetFirstAccount )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [in] */ OEACCSERVER acctType,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextAccount )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDefaultAccount )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [in] */ OEACCTYPE acctType,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAccountByID )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [in] */ BSTR bstAccID,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewAccount )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [in] */ OEACCTYPE acctType,
            /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AccountCount )( 
            IOEAccountMgr __RPC_FAR * This,
            /* [in] */ OEACCSERVER acctType,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        END_INTERFACE
    } IOEAccountMgrVtbl;

    interface IOEAccountMgr
    {
        CONST_VTBL struct IOEAccountMgrVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IOEAccountMgr_GetFirstAccount(This,acctType,ppAccount)	\
    (This)->lpVtbl -> GetFirstAccount(This,acctType,ppAccount)

#define IOEAccountMgr_GetNextAccount(This,ppAccount)	\
    (This)->lpVtbl -> GetNextAccount(This,ppAccount)

#define IOEAccountMgr_GetDefaultAccount(This,acctType,ppAccount)	\
    (This)->lpVtbl -> GetDefaultAccount(This,acctType,ppAccount)

#define IOEAccountMgr_GetAccountByID(This,bstAccID,ppAccount)	\
    (This)->lpVtbl -> GetAccountByID(This,bstAccID,ppAccount)

#define IOEAccountMgr_CreateNewAccount(This,acctType,ppAccount)	\
    (This)->lpVtbl -> CreateNewAccount(This,acctType,ppAccount)

#define IOEAccountMgr_get_AccountCount(This,acctType,pVal)	\
    (This)->lpVtbl -> get_AccountCount(This,acctType,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEAccountMgr_GetFirstAccount_Proxy( 
    IOEAccountMgr __RPC_FAR * This,
    /* [in] */ OEACCSERVER acctType,
    /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEAccountMgr_GetNextAccount_Proxy( 
    IOEAccountMgr __RPC_FAR * This,
    /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEAccountMgr_GetDefaultAccount_Proxy( 
    IOEAccountMgr __RPC_FAR * This,
    /* [in] */ OEACCTYPE acctType,
    /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEAccountMgr_GetAccountByID_Proxy( 
    IOEAccountMgr __RPC_FAR * This,
    /* [in] */ BSTR bstAccID,
    /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEAccountMgr_CreateNewAccount_Proxy( 
    IOEAccountMgr __RPC_FAR * This,
    /* [in] */ OEACCTYPE acctType,
    /* [retval][out] */ IOEAccount __RPC_FAR *__RPC_FAR *ppAccount);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccountMgr_get_AccountCount_Proxy( 
    IOEAccountMgr __RPC_FAR * This,
    /* [in] */ OEACCSERVER acctType,
    /* [retval][out] */ long __RPC_FAR *pVal);


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



#endif 	/* __IOEAccountMgr_INTERFACE_DEFINED__ */


#ifndef __IOEAccount_INTERFACE_DEFINED__
#define __IOEAccount_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IOEAccount;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8B388B09-6A80-413A-85F8-661E437ED34B")
    IOEAccount : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetAsDefault( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Save( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AccountID( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ServerAddress( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ServerAddress( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Username( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Username( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Password( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Password( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Port( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Port( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SSL( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SSL( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FriendlyName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FriendlyName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Email( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Email( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ReplyToEmail( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ReplyToEmail( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ServerType( 
            /* [retval][out] */ OEACCSERVER __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_LastUpdated( 
            /* [retval][out] */ DATE __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedProp( 
            /* [retval][out] */ OEACCSERVER __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SelectedProp( 
            /* [in] */ OEACCSERVER newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AccountName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AccountName( 
            /* [in] */ BSTR newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOEAccountVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IOEAccount __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IOEAccount __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IOEAccount __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IOEAccount __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 )( 
            IOEAccount __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 *SetAsDefault )( 
            IOEAccount __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IOEAccount __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
            IOEAccount __RPC_FAR * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AccountID )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ServerAddress )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ServerAddress )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Username )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Username )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Password )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Password )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Port )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Port )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ long newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SSL )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SSL )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FriendlyName )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FriendlyName )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Email )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Email )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ReplyToEmail )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ReplyToEmail )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ServerType )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ OEACCSERVER __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LastUpdated )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ DATE __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SelectedProp )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ OEACCSERVER __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SelectedProp )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ OEACCSERVER newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AccountName )( 
            IOEAccount __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AccountName )( 
            IOEAccount __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        END_INTERFACE
    } IOEAccountVtbl;

    interface IOEAccount
    {
        CONST_VTBL struct IOEAccountVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IOEAccount_SetAsDefault(This)	\
    (This)->lpVtbl -> SetAsDefault(This)

#define IOEAccount_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IOEAccount_Save(This)	\
    (This)->lpVtbl -> Save(This)

#define IOEAccount_get_AccountID(This,pVal)	\
    (This)->lpVtbl -> get_AccountID(This,pVal)

#define IOEAccount_get_ServerAddress(This,pVal)	\
    (This)->lpVtbl -> get_ServerAddress(This,pVal)

#define IOEAccount_put_ServerAddress(This,newVal)	\
    (This)->lpVtbl -> put_ServerAddress(This,newVal)

#define IOEAccount_get_Username(This,pVal)	\
    (This)->lpVtbl -> get_Username(This,pVal)

#define IOEAccount_put_Username(This,newVal)	\
    (This)->lpVtbl -> put_Username(This,newVal)

#define IOEAccount_get_Password(This,pVal)	\
    (This)->lpVtbl -> get_Password(This,pVal)

#define IOEAccount_put_Password(This,newVal)	\
    (This)->lpVtbl -> put_Password(This,newVal)

#define IOEAccount_get_Port(This,pVal)	\
    (This)->lpVtbl -> get_Port(This,pVal)

#define IOEAccount_put_Port(This,newVal)	\
    (This)->lpVtbl -> put_Port(This,newVal)

#define IOEAccount_get_SSL(This,pVal)	\
    (This)->lpVtbl -> get_SSL(This,pVal)

#define IOEAccount_put_SSL(This,newVal)	\
    (This)->lpVtbl -> put_SSL(This,newVal)

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

#define IOEAccount_put_FriendlyName(This,newVal)	\
    (This)->lpVtbl -> put_FriendlyName(This,newVal)

#define IOEAccount_get_Email(This,pVal)	\
    (This)->lpVtbl -> get_Email(This,pVal)

#define IOEAccount_put_Email(This,newVal)	\
    (This)->lpVtbl -> put_Email(This,newVal)

#define IOEAccount_get_ReplyToEmail(This,pVal)	\
    (This)->lpVtbl -> get_ReplyToEmail(This,pVal)

#define IOEAccount_put_ReplyToEmail(This,newVal)	\
    (This)->lpVtbl -> put_ReplyToEmail(This,newVal)

#define IOEAccount_get_ServerType(This,pVal)	\
    (This)->lpVtbl -> get_ServerType(This,pVal)

#define IOEAccount_get_LastUpdated(This,pVal)	\
    (This)->lpVtbl -> get_LastUpdated(This,pVal)

#define IOEAccount_get_SelectedProp(This,pVal)	\
    (This)->lpVtbl -> get_SelectedProp(This,pVal)

#define IOEAccount_put_SelectedProp(This,newVal)	\
    (This)->lpVtbl -> put_SelectedProp(This,newVal)

#define IOEAccount_get_AccountName(This,pVal)	\
    (This)->lpVtbl -> get_AccountName(This,pVal)

#define IOEAccount_put_AccountName(This,newVal)	\
    (This)->lpVtbl -> put_AccountName(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEAccount_SetAsDefault_Proxy( 
    IOEAccount __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEAccount_Delete_Proxy( 
    IOEAccount __RPC_FAR * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IOEAccount_Save_Proxy( 
    IOEAccount __RPC_FAR * This);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_AccountID_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_ServerAddress_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_ServerAddress_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_Username_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_Username_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_Password_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_Password_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


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


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


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


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_SSL_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_SSL_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_FriendlyName_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_FriendlyName_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_Email_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_Email_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_ReplyToEmail_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_ReplyToEmail_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_ServerType_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ OEACCSERVER __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_LastUpdated_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ DATE __RPC_FAR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_SelectedProp_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ OEACCSERVER __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_SelectedProp_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ OEACCSERVER newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IOEAccount_get_AccountName_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IOEAccount_put_AccountName_Proxy( 
    IOEAccount __RPC_FAR * This,
    /* [in] */ BSTR newVal);


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



#endif 	/* __IOEAccount_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_OEAccountMgr;

#ifdef __cplusplus

class DECLSPEC_UUID("78A11322-DF58-4C83-BF6F-A2188914B84C")
OEAccountMgr;
#endif

EXTERN_C const CLSID CLSID_OEAccount;

#ifdef __cplusplus

class DECLSPEC_UUID("35CB11C4-D702-448F-A264-CBA4B3C0E394")
OEAccount;
#endif
#endif /* __OELib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Software Developer (Senior)
India India
He used to have biography here Smile | :) , but now he will hire someone (for free offcourse Big Grin | :-D ), Who writes his biography on his behalf Smile | :)

He is Great Fan of Mr. Johan Rosengren (his idol),Lim Bio Liong, Nishant S and DavidCrow and Believes that, he will EXCEL in his life by following there steps!!!

He started with Visual C++ then moved to C# then he become language agnostic, you give him task,tell him the language or platform, he we start immediately, if he knows the language otherwise he quickly learn it and start contributing productively

Last but not the least, For good 8 years he was Visual CPP MSMVP!

Comments and Discussions