

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


 /* File created by MIDL compiler version 7.00.0500 */
/* at Sat Jun 06 23:57:55 2009
 */
/* Compiler settings for .\CyberArticleBook.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

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


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

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

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

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

#ifndef __CyberArticleBook_h__
#define __CyberArticleBook_h__

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

/* Forward Declarations */ 

#ifndef __ICABook_FWD_DEFINED__
#define __ICABook_FWD_DEFINED__
typedef interface ICABook ICABook;
#endif 	/* __ICABook_FWD_DEFINED__ */


#ifndef __ICABook2_FWD_DEFINED__
#define __ICABook2_FWD_DEFINED__
typedef interface ICABook2 ICABook2;
#endif 	/* __ICABook2_FWD_DEFINED__ */


#ifndef __ICABook3_FWD_DEFINED__
#define __ICABook3_FWD_DEFINED__
typedef interface ICABook3 ICABook3;
#endif 	/* __ICABook3_FWD_DEFINED__ */


#ifndef __ICANode_FWD_DEFINED__
#define __ICANode_FWD_DEFINED__
typedef interface ICANode ICANode;
#endif 	/* __ICANode_FWD_DEFINED__ */


#ifndef __ICANode2_FWD_DEFINED__
#define __ICANode2_FWD_DEFINED__
typedef interface ICANode2 ICANode2;
#endif 	/* __ICANode2_FWD_DEFINED__ */


#ifndef __ICANodeCollection_FWD_DEFINED__
#define __ICANodeCollection_FWD_DEFINED__
typedef interface ICANodeCollection ICANodeCollection;
#endif 	/* __ICANodeCollection_FWD_DEFINED__ */


#ifndef __ICAArticle_FWD_DEFINED__
#define __ICAArticle_FWD_DEFINED__
typedef interface ICAArticle ICAArticle;
#endif 	/* __ICAArticle_FWD_DEFINED__ */


#ifndef __ICALabelCollection_FWD_DEFINED__
#define __ICALabelCollection_FWD_DEFINED__
typedef interface ICALabelCollection ICALabelCollection;
#endif 	/* __ICALabelCollection_FWD_DEFINED__ */


#ifndef __ICAAttachment_FWD_DEFINED__
#define __ICAAttachment_FWD_DEFINED__
typedef interface ICAAttachment ICAAttachment;
#endif 	/* __ICAAttachment_FWD_DEFINED__ */


#ifndef __ICAAttachmentCollection_FWD_DEFINED__
#define __ICAAttachmentCollection_FWD_DEFINED__
typedef interface ICAAttachmentCollection ICAAttachmentCollection;
#endif 	/* __ICAAttachmentCollection_FWD_DEFINED__ */


#ifndef __ICAArticleResource_FWD_DEFINED__
#define __ICAArticleResource_FWD_DEFINED__
typedef interface ICAArticleResource ICAArticleResource;
#endif 	/* __ICAArticleResource_FWD_DEFINED__ */


#ifndef __ICAArticleResourceCollection_FWD_DEFINED__
#define __ICAArticleResourceCollection_FWD_DEFINED__
typedef interface ICAArticleResourceCollection ICAArticleResourceCollection;
#endif 	/* __ICAArticleResourceCollection_FWD_DEFINED__ */


#ifndef __ICAProfile_FWD_DEFINED__
#define __ICAProfile_FWD_DEFINED__
typedef interface ICAProfile ICAProfile;
#endif 	/* __ICAProfile_FWD_DEFINED__ */


#ifndef __ICALabel_FWD_DEFINED__
#define __ICALabel_FWD_DEFINED__
typedef interface ICALabel ICALabel;
#endif 	/* __ICALabel_FWD_DEFINED__ */


#ifndef __ICABookCollection_FWD_DEFINED__
#define __ICABookCollection_FWD_DEFINED__
typedef interface ICABookCollection ICABookCollection;
#endif 	/* __ICABookCollection_FWD_DEFINED__ */


#ifndef __ICACommand_FWD_DEFINED__
#define __ICACommand_FWD_DEFINED__
typedef interface ICACommand ICACommand;
#endif 	/* __ICACommand_FWD_DEFINED__ */


#ifndef __ICAProfileCollection_FWD_DEFINED__
#define __ICAProfileCollection_FWD_DEFINED__
typedef interface ICAProfileCollection ICAProfileCollection;
#endif 	/* __ICAProfileCollection_FWD_DEFINED__ */


#ifndef __ICADatabase_FWD_DEFINED__
#define __ICADatabase_FWD_DEFINED__
typedef interface ICADatabase ICADatabase;
#endif 	/* __ICADatabase_FWD_DEFINED__ */


#ifndef __ICADBError_FWD_DEFINED__
#define __ICADBError_FWD_DEFINED__
typedef interface ICADBError ICADBError;
#endif 	/* __ICADBError_FWD_DEFINED__ */


#ifndef __ICABookmark_FWD_DEFINED__
#define __ICABookmark_FWD_DEFINED__
typedef interface ICABookmark ICABookmark;
#endif 	/* __ICABookmark_FWD_DEFINED__ */


#ifndef __ICABookmarkCollection_FWD_DEFINED__
#define __ICABookmarkCollection_FWD_DEFINED__
typedef interface ICABookmarkCollection ICABookmarkCollection;
#endif 	/* __ICABookmarkCollection_FWD_DEFINED__ */


#ifndef __ICASettings_FWD_DEFINED__
#define __ICASettings_FWD_DEFINED__
typedef interface ICASettings ICASettings;
#endif 	/* __ICASettings_FWD_DEFINED__ */


#ifndef __ICAWebShare_FWD_DEFINED__
#define __ICAWebShare_FWD_DEFINED__
typedef interface ICAWebShare ICAWebShare;
#endif 	/* __ICAWebShare_FWD_DEFINED__ */


#ifndef __ICAIcon_FWD_DEFINED__
#define __ICAIcon_FWD_DEFINED__
typedef interface ICAIcon ICAIcon;
#endif 	/* __ICAIcon_FWD_DEFINED__ */


#ifndef __ICAIconCollection_FWD_DEFINED__
#define __ICAIconCollection_FWD_DEFINED__
typedef interface ICAIconCollection ICAIconCollection;
#endif 	/* __ICAIconCollection_FWD_DEFINED__ */


#ifndef __ICAModificationLog_FWD_DEFINED__
#define __ICAModificationLog_FWD_DEFINED__
typedef interface ICAModificationLog ICAModificationLog;
#endif 	/* __ICAModificationLog_FWD_DEFINED__ */


#ifndef __ICAModificationLogCollection_FWD_DEFINED__
#define __ICAModificationLogCollection_FWD_DEFINED__
typedef interface ICAModificationLogCollection ICAModificationLogCollection;
#endif 	/* __ICAModificationLogCollection_FWD_DEFINED__ */


#ifndef __ICANodeHistoryCollection_FWD_DEFINED__
#define __ICANodeHistoryCollection_FWD_DEFINED__
typedef interface ICANodeHistoryCollection ICANodeHistoryCollection;
#endif 	/* __ICANodeHistoryCollection_FWD_DEFINED__ */


#ifndef __ICANodeHistory_FWD_DEFINED__
#define __ICANodeHistory_FWD_DEFINED__
typedef interface ICANodeHistory ICANodeHistory;
#endif 	/* __ICANodeHistory_FWD_DEFINED__ */


#ifndef __CABook_FWD_DEFINED__
#define __CABook_FWD_DEFINED__

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

#endif 	/* __CABook_FWD_DEFINED__ */


#ifndef __CANode_FWD_DEFINED__
#define __CANode_FWD_DEFINED__

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

#endif 	/* __CANode_FWD_DEFINED__ */


#ifndef __CANodeCollection_FWD_DEFINED__
#define __CANodeCollection_FWD_DEFINED__

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

#endif 	/* __CANodeCollection_FWD_DEFINED__ */


#ifndef __CAArticle_FWD_DEFINED__
#define __CAArticle_FWD_DEFINED__

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

#endif 	/* __CAArticle_FWD_DEFINED__ */


#ifndef __CALabelCollection_FWD_DEFINED__
#define __CALabelCollection_FWD_DEFINED__

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

#endif 	/* __CALabelCollection_FWD_DEFINED__ */


#ifndef __CAAttachment_FWD_DEFINED__
#define __CAAttachment_FWD_DEFINED__

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

#endif 	/* __CAAttachment_FWD_DEFINED__ */


#ifndef __CAAttachmentCollection_FWD_DEFINED__
#define __CAAttachmentCollection_FWD_DEFINED__

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

#endif 	/* __CAAttachmentCollection_FWD_DEFINED__ */


#ifndef __CAArticleResource_FWD_DEFINED__
#define __CAArticleResource_FWD_DEFINED__

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

#endif 	/* __CAArticleResource_FWD_DEFINED__ */


#ifndef __CAArticleResourceCollection_FWD_DEFINED__
#define __CAArticleResourceCollection_FWD_DEFINED__

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

#endif 	/* __CAArticleResourceCollection_FWD_DEFINED__ */


#ifndef __CAProfile_FWD_DEFINED__
#define __CAProfile_FWD_DEFINED__

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

#endif 	/* __CAProfile_FWD_DEFINED__ */


#ifndef __CALabel_FWD_DEFINED__
#define __CALabel_FWD_DEFINED__

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

#endif 	/* __CALabel_FWD_DEFINED__ */


#ifndef __CABookCollection_FWD_DEFINED__
#define __CABookCollection_FWD_DEFINED__

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

#endif 	/* __CABookCollection_FWD_DEFINED__ */


#ifndef __CACommand_FWD_DEFINED__
#define __CACommand_FWD_DEFINED__

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

#endif 	/* __CACommand_FWD_DEFINED__ */


#ifndef __CAProfileCollection_FWD_DEFINED__
#define __CAProfileCollection_FWD_DEFINED__

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

#endif 	/* __CAProfileCollection_FWD_DEFINED__ */


#ifndef __CADatabase_FWD_DEFINED__
#define __CADatabase_FWD_DEFINED__

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

#endif 	/* __CADatabase_FWD_DEFINED__ */


#ifndef __CADBError_FWD_DEFINED__
#define __CADBError_FWD_DEFINED__

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

#endif 	/* __CADBError_FWD_DEFINED__ */


#ifndef __CABookmark_FWD_DEFINED__
#define __CABookmark_FWD_DEFINED__

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

#endif 	/* __CABookmark_FWD_DEFINED__ */


#ifndef __CABookmarkCollection_FWD_DEFINED__
#define __CABookmarkCollection_FWD_DEFINED__

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

#endif 	/* __CABookmarkCollection_FWD_DEFINED__ */


#ifndef __CASettings_FWD_DEFINED__
#define __CASettings_FWD_DEFINED__

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

#endif 	/* __CASettings_FWD_DEFINED__ */


#ifndef __CAWebShare_FWD_DEFINED__
#define __CAWebShare_FWD_DEFINED__

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

#endif 	/* __CAWebShare_FWD_DEFINED__ */


#ifndef __CAIcon_FWD_DEFINED__
#define __CAIcon_FWD_DEFINED__

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

#endif 	/* __CAIcon_FWD_DEFINED__ */


#ifndef __CAIconCollection_FWD_DEFINED__
#define __CAIconCollection_FWD_DEFINED__

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

#endif 	/* __CAIconCollection_FWD_DEFINED__ */


#ifndef __CAModificationLog_FWD_DEFINED__
#define __CAModificationLog_FWD_DEFINED__

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

#endif 	/* __CAModificationLog_FWD_DEFINED__ */


#ifndef __CAModificationLogCollection_FWD_DEFINED__
#define __CAModificationLogCollection_FWD_DEFINED__

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

#endif 	/* __CAModificationLogCollection_FWD_DEFINED__ */


#ifndef __CANodeHistoryCollection_FWD_DEFINED__
#define __CANodeHistoryCollection_FWD_DEFINED__

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

#endif 	/* __CANodeHistoryCollection_FWD_DEFINED__ */


#ifndef __CANodeHistory_FWD_DEFINED__
#define __CANodeHistory_FWD_DEFINED__

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

#endif 	/* __CANodeHistory_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 


#ifndef __ICABook_INTERFACE_DEFINED__
#define __ICABook_INTERFACE_DEFINED__

/* interface ICABook */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICABook;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("63A62DC9-F44D-4088-851A-57CC1E6EB8B4")
    ICABook : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [in] */ BSTR bstrGUID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_RootNode( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Labels( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attachments( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_GUID( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IconIndex( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_RecycleBin( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateFolder( 
            /* [in] */ IDispatch *pParentNode,
            /* [in] */ BSTR bstrTitle,
            /* [retval][out] */ IDispatch **ppNewFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateArticle( 
            /* [in] */ IDispatch *pParentNode,
            /* [in] */ BSTR bstrTitle,
            /* [retval][out] */ IDispatch **ppNewArticle) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateFolderByFolderPath( 
            /* [in] */ IDispatch *pParentNode,
            /* [in] */ BSTR bstrFolderPath,
            /* [retval][out] */ IDispatch **ppNewFolder) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateLabel( 
            /* [in] */ BSTR bstrLabelName,
            /* [retval][out] */ IDispatch **ppLabelDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NodeFromID( 
            /* [in] */ LONG nID,
            /* [retval][out] */ IDispatch **ppDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AttachmentFromID( 
            /* [in] */ LONG nID,
            /* [retval][out] */ IDispatch **ppDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LabelFromID( 
            /* [in] */ LONG nID,
            /* [retval][out] */ IDispatch **ppDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Search( 
            /* [in] */ BSTR bstrFind,
            /* [in] */ LONG nFlags,
            /* [in] */ LONG nResultCount,
            /* [retval][out] */ IDispatch **ppResult) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SearchSupportIngoreCase( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BeginUpdate( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndUpdate( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NodesFromURL( 
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IDispatch **ppNodesDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecentArticles( 
            /* [in] */ LONG nCount,
            /* [retval][out] */ IDispatch **ppArticlesDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnreadArticles( 
            /* [retval][out] */ IDispatch **ppArticlesDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPasswordStorage( 
            /* [in] */ VARIANT vPasswordStorage) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Nodes( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Users( 
            /* [retval][out] */ VARIANT *pvUsers) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteUser( 
            /* [in] */ BSTR bstrUser) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ChangeUser( 
            /* [in] */ BSTR bstrOldUser,
            /* [in] */ BSTR bstrNewUser) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstNode( 
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPrevNode( 
            /* [in] */ IDispatch *pCurrNodeDisp,
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextNode( 
            /* [in] */ IDispatch *pCurrNodeDisp,
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLastNode( 
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NodesFromLabels( 
            /* [in] */ VARIANT vLabels,
            /* [retval][out] */ IDispatch **ppNodesDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBookPassword( 
            /* [in] */ BSTR bstrOldPassword,
            /* [in] */ BSTR bstrNewPassword) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SearchInNodes( 
            /* [in] */ IDispatch *pNodesDisp,
            /* [in] */ BSTR bstrFind,
            /* [in] */ LONG nFlags,
            /* [in] */ LONG nResultCount,
            /* [retval][out] */ IDispatch **ppResult) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecentArticlesEx( 
            /* [in] */ LONG nCount,
            /* [in] */ LONG nFlags,
            /* [retval][out] */ IDispatch **ppArticlesDisp) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Icons( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddIcon( 
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ IDispatch **ppIconDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IconFromID( 
            /* [in] */ LONG nID,
            /* [retval][out] */ IDispatch **ppDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Compress( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Backup( 
            /* [in] */ BSTR bstrBackupPath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NodesFromSQL( 
            /* [in] */ BSTR bstrSQL,
            /* [retval][out] */ IDispatch **ppNodesDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NodeFromGUID( 
            /* [in] */ BSTR bstrGUID,
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NodesFromAttribute( 
            /* [in] */ BSTR bstrAttributeName,
            /* [in] */ BSTR bstrAttributeValue,
            /* [retval][out] */ IDispatch **ppNodesDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBookSettings( 
            /* [in] */ BSTR bstrSettingsName,
            /* [in] */ BSTR bstrDefaultValue,
            /* [retval][out] */ BSTR *pbstrValue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBookSettings( 
            /* [in] */ BSTR bstrSettingsName,
            /* [in] */ BSTR bstrSettingsValue) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DatabaseType( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICABookVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICABook * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICABook * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICABook * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICABook * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICABook * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICABook * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICABook * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            ICABook * This,
            /* [in] */ BSTR bstrGUID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            ICABook * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootNode )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Labels )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attachments )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
            ICABook * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICABook * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ICABook * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IconIndex )( 
            ICABook * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecycleBin )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateFolder )( 
            ICABook * This,
            /* [in] */ IDispatch *pParentNode,
            /* [in] */ BSTR bstrTitle,
            /* [retval][out] */ IDispatch **ppNewFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateArticle )( 
            ICABook * This,
            /* [in] */ IDispatch *pParentNode,
            /* [in] */ BSTR bstrTitle,
            /* [retval][out] */ IDispatch **ppNewArticle);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateFolderByFolderPath )( 
            ICABook * This,
            /* [in] */ IDispatch *pParentNode,
            /* [in] */ BSTR bstrFolderPath,
            /* [retval][out] */ IDispatch **ppNewFolder);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateLabel )( 
            ICABook * This,
            /* [in] */ BSTR bstrLabelName,
            /* [retval][out] */ IDispatch **ppLabelDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NodeFromID )( 
            ICABook * This,
            /* [in] */ LONG nID,
            /* [retval][out] */ IDispatch **ppDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AttachmentFromID )( 
            ICABook * This,
            /* [in] */ LONG nID,
            /* [retval][out] */ IDispatch **ppDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *LabelFromID )( 
            ICABook * This,
            /* [in] */ LONG nID,
            /* [retval][out] */ IDispatch **ppDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Search )( 
            ICABook * This,
            /* [in] */ BSTR bstrFind,
            /* [in] */ LONG nFlags,
            /* [in] */ LONG nResultCount,
            /* [retval][out] */ IDispatch **ppResult);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SearchSupportIngoreCase )( 
            ICABook * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginUpdate )( 
            ICABook * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndUpdate )( 
            ICABook * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NodesFromURL )( 
            ICABook * This,
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IDispatch **ppNodesDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecentArticles )( 
            ICABook * This,
            /* [in] */ LONG nCount,
            /* [retval][out] */ IDispatch **ppArticlesDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnreadArticles )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **ppArticlesDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPasswordStorage )( 
            ICABook * This,
            /* [in] */ VARIANT vPasswordStorage);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Nodes )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Users )( 
            ICABook * This,
            /* [retval][out] */ VARIANT *pvUsers);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteUser )( 
            ICABook * This,
            /* [in] */ BSTR bstrUser);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ChangeUser )( 
            ICABook * This,
            /* [in] */ BSTR bstrOldUser,
            /* [in] */ BSTR bstrNewUser);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetFirstNode )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPrevNode )( 
            ICABook * This,
            /* [in] */ IDispatch *pCurrNodeDisp,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetNextNode )( 
            ICABook * This,
            /* [in] */ IDispatch *pCurrNodeDisp,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLastNode )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NodesFromLabels )( 
            ICABook * This,
            /* [in] */ VARIANT vLabels,
            /* [retval][out] */ IDispatch **ppNodesDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBookPassword )( 
            ICABook * This,
            /* [in] */ BSTR bstrOldPassword,
            /* [in] */ BSTR bstrNewPassword);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SearchInNodes )( 
            ICABook * This,
            /* [in] */ IDispatch *pNodesDisp,
            /* [in] */ BSTR bstrFind,
            /* [in] */ LONG nFlags,
            /* [in] */ LONG nResultCount,
            /* [retval][out] */ IDispatch **ppResult);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecentArticlesEx )( 
            ICABook * This,
            /* [in] */ LONG nCount,
            /* [in] */ LONG nFlags,
            /* [retval][out] */ IDispatch **ppArticlesDisp);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Icons )( 
            ICABook * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddIcon )( 
            ICABook * This,
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ IDispatch **ppIconDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IconFromID )( 
            ICABook * This,
            /* [in] */ LONG nID,
            /* [retval][out] */ IDispatch **ppDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Compress )( 
            ICABook * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Backup )( 
            ICABook * This,
            /* [in] */ BSTR bstrBackupPath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NodesFromSQL )( 
            ICABook * This,
            /* [in] */ BSTR bstrSQL,
            /* [retval][out] */ IDispatch **ppNodesDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NodeFromGUID )( 
            ICABook * This,
            /* [in] */ BSTR bstrGUID,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NodesFromAttribute )( 
            ICABook * This,
            /* [in] */ BSTR bstrAttributeName,
            /* [in] */ BSTR bstrAttributeValue,
            /* [retval][out] */ IDispatch **ppNodesDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBookSettings )( 
            ICABook * This,
            /* [in] */ BSTR bstrSettingsName,
            /* [in] */ BSTR bstrDefaultValue,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBookSettings )( 
            ICABook * This,
            /* [in] */ BSTR bstrSettingsName,
            /* [in] */ BSTR bstrSettingsValue);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DatabaseType )( 
            ICABook * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } ICABookVtbl;

    interface ICABook
    {
        CONST_VTBL struct ICABookVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICABook_Open(This,bstrGUID)	\
    ( (This)->lpVtbl -> Open(This,bstrGUID) ) 

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

#define ICABook_get_RootNode(This,pVal)	\
    ( (This)->lpVtbl -> get_RootNode(This,pVal) ) 

#define ICABook_get_Labels(This,pVal)	\
    ( (This)->lpVtbl -> get_Labels(This,pVal) ) 

#define ICABook_get_Attachments(This,pVal)	\
    ( (This)->lpVtbl -> get_Attachments(This,pVal) ) 

#define ICABook_get_GUID(This,pVal)	\
    ( (This)->lpVtbl -> get_GUID(This,pVal) ) 

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

#define ICABook_put_Name(This,newVal)	\
    ( (This)->lpVtbl -> put_Name(This,newVal) ) 

#define ICABook_get_IconIndex(This,pVal)	\
    ( (This)->lpVtbl -> get_IconIndex(This,pVal) ) 

#define ICABook_get_RecycleBin(This,pVal)	\
    ( (This)->lpVtbl -> get_RecycleBin(This,pVal) ) 

#define ICABook_CreateFolder(This,pParentNode,bstrTitle,ppNewFolder)	\
    ( (This)->lpVtbl -> CreateFolder(This,pParentNode,bstrTitle,ppNewFolder) ) 

#define ICABook_CreateArticle(This,pParentNode,bstrTitle,ppNewArticle)	\
    ( (This)->lpVtbl -> CreateArticle(This,pParentNode,bstrTitle,ppNewArticle) ) 

#define ICABook_CreateFolderByFolderPath(This,pParentNode,bstrFolderPath,ppNewFolder)	\
    ( (This)->lpVtbl -> CreateFolderByFolderPath(This,pParentNode,bstrFolderPath,ppNewFolder) ) 

#define ICABook_CreateLabel(This,bstrLabelName,ppLabelDisp)	\
    ( (This)->lpVtbl -> CreateLabel(This,bstrLabelName,ppLabelDisp) ) 

#define ICABook_NodeFromID(This,nID,ppDisp)	\
    ( (This)->lpVtbl -> NodeFromID(This,nID,ppDisp) ) 

#define ICABook_AttachmentFromID(This,nID,ppDisp)	\
    ( (This)->lpVtbl -> AttachmentFromID(This,nID,ppDisp) ) 

#define ICABook_LabelFromID(This,nID,ppDisp)	\
    ( (This)->lpVtbl -> LabelFromID(This,nID,ppDisp) ) 

#define ICABook_Search(This,bstrFind,nFlags,nResultCount,ppResult)	\
    ( (This)->lpVtbl -> Search(This,bstrFind,nFlags,nResultCount,ppResult) ) 

#define ICABook_SearchSupportIngoreCase(This)	\
    ( (This)->lpVtbl -> SearchSupportIngoreCase(This) ) 

#define ICABook_BeginUpdate(This)	\
    ( (This)->lpVtbl -> BeginUpdate(This) ) 

#define ICABook_EndUpdate(This)	\
    ( (This)->lpVtbl -> EndUpdate(This) ) 

#define ICABook_NodesFromURL(This,bstrURL,ppNodesDisp)	\
    ( (This)->lpVtbl -> NodesFromURL(This,bstrURL,ppNodesDisp) ) 

#define ICABook_RecentArticles(This,nCount,ppArticlesDisp)	\
    ( (This)->lpVtbl -> RecentArticles(This,nCount,ppArticlesDisp) ) 

#define ICABook_UnreadArticles(This,ppArticlesDisp)	\
    ( (This)->lpVtbl -> UnreadArticles(This,ppArticlesDisp) ) 

#define ICABook_SetPasswordStorage(This,vPasswordStorage)	\
    ( (This)->lpVtbl -> SetPasswordStorage(This,vPasswordStorage) ) 

#define ICABook_get_Nodes(This,pVal)	\
    ( (This)->lpVtbl -> get_Nodes(This,pVal) ) 

#define ICABook_get_Users(This,pvUsers)	\
    ( (This)->lpVtbl -> get_Users(This,pvUsers) ) 

#define ICABook_DeleteUser(This,bstrUser)	\
    ( (This)->lpVtbl -> DeleteUser(This,bstrUser) ) 

#define ICABook_ChangeUser(This,bstrOldUser,bstrNewUser)	\
    ( (This)->lpVtbl -> ChangeUser(This,bstrOldUser,bstrNewUser) ) 

#define ICABook_GetFirstNode(This,ppNodeDisp)	\
    ( (This)->lpVtbl -> GetFirstNode(This,ppNodeDisp) ) 

#define ICABook_GetPrevNode(This,pCurrNodeDisp,ppNodeDisp)	\
    ( (This)->lpVtbl -> GetPrevNode(This,pCurrNodeDisp,ppNodeDisp) ) 

#define ICABook_GetNextNode(This,pCurrNodeDisp,ppNodeDisp)	\
    ( (This)->lpVtbl -> GetNextNode(This,pCurrNodeDisp,ppNodeDisp) ) 

#define ICABook_GetLastNode(This,ppNodeDisp)	\
    ( (This)->lpVtbl -> GetLastNode(This,ppNodeDisp) ) 

#define ICABook_NodesFromLabels(This,vLabels,ppNodesDisp)	\
    ( (This)->lpVtbl -> NodesFromLabels(This,vLabels,ppNodesDisp) ) 

#define ICABook_SetBookPassword(This,bstrOldPassword,bstrNewPassword)	\
    ( (This)->lpVtbl -> SetBookPassword(This,bstrOldPassword,bstrNewPassword) ) 

#define ICABook_SearchInNodes(This,pNodesDisp,bstrFind,nFlags,nResultCount,ppResult)	\
    ( (This)->lpVtbl -> SearchInNodes(This,pNodesDisp,bstrFind,nFlags,nResultCount,ppResult) ) 

#define ICABook_RecentArticlesEx(This,nCount,nFlags,ppArticlesDisp)	\
    ( (This)->lpVtbl -> RecentArticlesEx(This,nCount,nFlags,ppArticlesDisp) ) 

#define ICABook_get_Icons(This,pVal)	\
    ( (This)->lpVtbl -> get_Icons(This,pVal) ) 

#define ICABook_AddIcon(This,bstrFileName,ppIconDisp)	\
    ( (This)->lpVtbl -> AddIcon(This,bstrFileName,ppIconDisp) ) 

#define ICABook_IconFromID(This,nID,ppDisp)	\
    ( (This)->lpVtbl -> IconFromID(This,nID,ppDisp) ) 

#define ICABook_Compress(This)	\
    ( (This)->lpVtbl -> Compress(This) ) 

#define ICABook_Backup(This,bstrBackupPath)	\
    ( (This)->lpVtbl -> Backup(This,bstrBackupPath) ) 

#define ICABook_NodesFromSQL(This,bstrSQL,ppNodesDisp)	\
    ( (This)->lpVtbl -> NodesFromSQL(This,bstrSQL,ppNodesDisp) ) 

#define ICABook_NodeFromGUID(This,bstrGUID,ppNodeDisp)	\
    ( (This)->lpVtbl -> NodeFromGUID(This,bstrGUID,ppNodeDisp) ) 

#define ICABook_NodesFromAttribute(This,bstrAttributeName,bstrAttributeValue,ppNodesDisp)	\
    ( (This)->lpVtbl -> NodesFromAttribute(This,bstrAttributeName,bstrAttributeValue,ppNodesDisp) ) 

#define ICABook_GetBookSettings(This,bstrSettingsName,bstrDefaultValue,pbstrValue)	\
    ( (This)->lpVtbl -> GetBookSettings(This,bstrSettingsName,bstrDefaultValue,pbstrValue) ) 

#define ICABook_SetBookSettings(This,bstrSettingsName,bstrSettingsValue)	\
    ( (This)->lpVtbl -> SetBookSettings(This,bstrSettingsName,bstrSettingsValue) ) 

#define ICABook_get_DatabaseType(This,pVal)	\
    ( (This)->lpVtbl -> get_DatabaseType(This,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICABook_INTERFACE_DEFINED__ */


#ifndef __ICABook2_INTERFACE_DEFINED__
#define __ICABook2_INTERFACE_DEFINED__

/* interface ICABook2 */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICABook2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6DA972B4-61CE-4e00-9E79-82BA77F2408F")
    ICABook2 : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_WebBookName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_WebBookName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_WebBookGUID( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TrackModification( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_TrackModification( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetModificationLogs( 
            /* [in] */ LONG nIDFrom,
            /* [retval][out] */ IDispatch **ppModificationLogCollectionDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ClearModificationLogs( 
            /* [in] */ LONG nIDTo) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GenCreateBookModificationLogs( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GenCreateNodeModificationLogs( 
            /* [in] */ IDispatch *pNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GenCreateAttachmentModificationLogs( 
            /* [in] */ IDispatch *pAttachmentDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GenChangeNodeRelativeArticleModificationLogs( 
            /* [in] */ IDispatch *pNodeDisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICABook2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICABook2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICABook2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICABook2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICABook2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICABook2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICABook2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICABook2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebBookName )( 
            ICABook2 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WebBookName )( 
            ICABook2 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebBookGUID )( 
            ICABook2 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackModification )( 
            ICABook2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackModification )( 
            ICABook2 * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetModificationLogs )( 
            ICABook2 * This,
            /* [in] */ LONG nIDFrom,
            /* [retval][out] */ IDispatch **ppModificationLogCollectionDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClearModificationLogs )( 
            ICABook2 * This,
            /* [in] */ LONG nIDTo);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GenCreateBookModificationLogs )( 
            ICABook2 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GenCreateNodeModificationLogs )( 
            ICABook2 * This,
            /* [in] */ IDispatch *pNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GenCreateAttachmentModificationLogs )( 
            ICABook2 * This,
            /* [in] */ IDispatch *pAttachmentDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GenChangeNodeRelativeArticleModificationLogs )( 
            ICABook2 * This,
            /* [in] */ IDispatch *pNodeDisp);
        
        END_INTERFACE
    } ICABook2Vtbl;

    interface ICABook2
    {
        CONST_VTBL struct ICABook2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICABook2_get_WebBookName(This,pVal)	\
    ( (This)->lpVtbl -> get_WebBookName(This,pVal) ) 

#define ICABook2_put_WebBookName(This,newVal)	\
    ( (This)->lpVtbl -> put_WebBookName(This,newVal) ) 

#define ICABook2_get_WebBookGUID(This,pVal)	\
    ( (This)->lpVtbl -> get_WebBookGUID(This,pVal) ) 

#define ICABook2_get_TrackModification(This,pVal)	\
    ( (This)->lpVtbl -> get_TrackModification(This,pVal) ) 

#define ICABook2_put_TrackModification(This,newVal)	\
    ( (This)->lpVtbl -> put_TrackModification(This,newVal) ) 

#define ICABook2_GetModificationLogs(This,nIDFrom,ppModificationLogCollectionDisp)	\
    ( (This)->lpVtbl -> GetModificationLogs(This,nIDFrom,ppModificationLogCollectionDisp) ) 

#define ICABook2_ClearModificationLogs(This,nIDTo)	\
    ( (This)->lpVtbl -> ClearModificationLogs(This,nIDTo) ) 

#define ICABook2_GenCreateBookModificationLogs(This)	\
    ( (This)->lpVtbl -> GenCreateBookModificationLogs(This) ) 

#define ICABook2_GenCreateNodeModificationLogs(This,pNodeDisp)	\
    ( (This)->lpVtbl -> GenCreateNodeModificationLogs(This,pNodeDisp) ) 

#define ICABook2_GenCreateAttachmentModificationLogs(This,pAttachmentDisp)	\
    ( (This)->lpVtbl -> GenCreateAttachmentModificationLogs(This,pAttachmentDisp) ) 

#define ICABook2_GenChangeNodeRelativeArticleModificationLogs(This,pNodeDisp)	\
    ( (This)->lpVtbl -> GenChangeNodeRelativeArticleModificationLogs(This,pNodeDisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICABook2_INTERFACE_DEFINED__ */


#ifndef __ICABook3_INTERFACE_DEFINED__
#define __ICABook3_INTERFACE_DEFINED__

/* interface ICABook3 */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICABook3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AF410364-344B-441e-868B-2881532D1A78")
    ICABook3 : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EnableVersionControl( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnableVersionControl( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OneNodeHistoryCopyPerDay( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OneNodeHistoryCopyPerDay( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteAllNodeHistory( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAllSettings( 
            /* [retval][out] */ VARIANT *pvarAttributes) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopySettings( 
            /* [in] */ IDispatch *pBookDisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICABook3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICABook3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICABook3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICABook3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICABook3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICABook3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICABook3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICABook3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableVersionControl )( 
            ICABook3 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableVersionControl )( 
            ICABook3 * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OneNodeHistoryCopyPerDay )( 
            ICABook3 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OneNodeHistoryCopyPerDay )( 
            ICABook3 * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteAllNodeHistory )( 
            ICABook3 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAllSettings )( 
            ICABook3 * This,
            /* [retval][out] */ VARIANT *pvarAttributes);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopySettings )( 
            ICABook3 * This,
            /* [in] */ IDispatch *pBookDisp);
        
        END_INTERFACE
    } ICABook3Vtbl;

    interface ICABook3
    {
        CONST_VTBL struct ICABook3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICABook3_get_EnableVersionControl(This,pVal)	\
    ( (This)->lpVtbl -> get_EnableVersionControl(This,pVal) ) 

#define ICABook3_put_EnableVersionControl(This,newVal)	\
    ( (This)->lpVtbl -> put_EnableVersionControl(This,newVal) ) 

#define ICABook3_get_OneNodeHistoryCopyPerDay(This,pVal)	\
    ( (This)->lpVtbl -> get_OneNodeHistoryCopyPerDay(This,pVal) ) 

#define ICABook3_put_OneNodeHistoryCopyPerDay(This,newVal)	\
    ( (This)->lpVtbl -> put_OneNodeHistoryCopyPerDay(This,newVal) ) 

#define ICABook3_DeleteAllNodeHistory(This)	\
    ( (This)->lpVtbl -> DeleteAllNodeHistory(This) ) 

#define ICABook3_GetAllSettings(This,pvarAttributes)	\
    ( (This)->lpVtbl -> GetAllSettings(This,pvarAttributes) ) 

#define ICABook3_CopySettings(This,pBookDisp)	\
    ( (This)->lpVtbl -> CopySettings(This,pBookDisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICABook3_INTERFACE_DEFINED__ */


#ifndef __ICANode_INTERFACE_DEFINED__
#define __ICANode_INTERFACE_DEFINED__

/* interface ICANode */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICANode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E74AC0ED-D1D2-4BA8-8A0B-B95AC00744C6")
    ICANode : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentID( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentID( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentNode( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentNode( 
            /* [in] */ IDispatch *newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Pos( 
            /* [retval][out] */ ULONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Pos( 
            /* [in] */ ULONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateCreated( 
            /* [retval][out] */ DATE *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DateCreated( 
            /* [in] */ DATE newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateModified( 
            /* [retval][out] */ DATE *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DateModified( 
            /* [in] */ DATE newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateAccessed( 
            /* [retval][out] */ DATE *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DateAccessed( 
            /* [in] */ DATE newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Unread( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Unread( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasAttachment( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BgColor( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_BgColor( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Color2( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Color2( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BgColor2( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_BgColor2( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IconIndex( 
            /* [retval][out] */ ULONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_IconIndex( 
            /* [in] */ ULONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ ULONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Owner( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileType( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FileType( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Author( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Author( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Keywords( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Keywords( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Label1( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Label1( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Label2( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Label2( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Label3( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Label3( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Label4( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Label4( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Label5( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Label5( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Comments( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Comments( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Article( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasPassword( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Password( 
            BSTR bstrPassword) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Children( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attachments( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ProfileName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SaveItem( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Book( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetNewPassword( 
            /* [in] */ BSTR bstrNewPassword,
            /* [in] */ long nFlags) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InitArticle( 
            /* [in] */ BSTR bstrText,
            /* [in] */ BSTR bstrURL,
            /* [in] */ IDispatch *pProfile) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MoveTo( 
            /* [in] */ IDispatch *pDispNodeTo,
            /* [in] */ VARIANT_BOOL bCopy,
            /* [retval][out] */ IDispatch **pDispNewNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MoveToRecycleBin( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReloadFromFile( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FindChildNode( 
            /* [in] */ BSTR bstrNodeTitle,
            /* [retval][out] */ IDispatch **ppChildDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NeedPassword( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddAttachment( 
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ IDispatch **ppAttachmentDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsIn( 
            /* [in] */ LONG nFolderID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InitArticleIndirect( 
            /* [in] */ VARIANT vArticle,
            /* [in] */ VARIANT vAttachments) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPasswordStorage( 
            /* [in] */ VARIANT vPasswordStorage) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DecryptOther( 
            /* [in] */ VARIANT vPasswordStorage) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPrevSiblingNode( 
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextSiblingNode( 
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetTitlePath( 
            /* [in] */ VARIANT_BOOL bIncludeSelf,
            /* [in] */ VARIANT_BOOL bIncludeBookName,
            /* [retval][out] */ BSTR *pbstrPath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetArticleData( 
            /* [in] */ IUnknown *pStreamUnk) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetArticleData( 
            /* [in] */ IUnknown *pStreamUnk) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [in] */ BSTR bstrAttributeName,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Attribute( 
            /* [in] */ BSTR bstrAttributeName,
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_NodeGUID( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FindChildNodeEx( 
            /* [in] */ BSTR bstrNodeTitle,
            /* [in] */ long nFlags,
            /* [retval][out] */ IDispatch **ppChildDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MoveToEx( 
            /* [in] */ IDispatch *pDispProgress,
            /* [in] */ IDispatch *pDispNodeTo,
            /* [in] */ VARIANT_BOOL bCopy,
            /* [retval][out] */ IDispatch **pDispNewNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteEx( 
            /* [in] */ IDispatch *pDispProgress) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MoveToRecycleBinEx( 
            /* [in] */ IDispatch *pDispProgress) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtInfo( 
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtInfo( 
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveAttribute( 
            /* [in] */ BSTR bstrAttributeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveExtInfo( 
            /* [in] */ BSTR bstrName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICANodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICANode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICANode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICANode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICANode * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICANode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICANode * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICANode * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            ICANode * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentID )( 
            ICANode * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentID )( 
            ICANode * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentNode )( 
            ICANode * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentNode )( 
            ICANode * This,
            /* [in] */ IDispatch *newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICANode * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pos )( 
            ICANode * This,
            /* [retval][out] */ ULONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Pos )( 
            ICANode * This,
            /* [in] */ ULONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateCreated )( 
            ICANode * This,
            /* [retval][out] */ DATE *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DateCreated )( 
            ICANode * This,
            /* [in] */ DATE newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateModified )( 
            ICANode * This,
            /* [retval][out] */ DATE *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DateModified )( 
            ICANode * This,
            /* [in] */ DATE newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateAccessed )( 
            ICANode * This,
            /* [retval][out] */ DATE *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DateAccessed )( 
            ICANode * This,
            /* [in] */ DATE newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Unread )( 
            ICANode * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Unread )( 
            ICANode * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasAttachment )( 
            ICANode * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BgColor )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BgColor )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color2 )( 
            ICANode * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color2 )( 
            ICANode * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BgColor2 )( 
            ICANode * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BgColor2 )( 
            ICANode * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IconIndex )( 
            ICANode * This,
            /* [retval][out] */ ULONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( 
            ICANode * This,
            /* [in] */ ULONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            ICANode * This,
            /* [retval][out] */ ULONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Owner )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileType )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FileType )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Author )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Author )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Keywords )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Keywords )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label1 )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Label1 )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label2 )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Label2 )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label3 )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Label3 )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label4 )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Label4 )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label5 )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Label5 )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comments )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comments )( 
            ICANode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Article )( 
            ICANode * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasPassword )( 
            ICANode * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Password )( 
            ICANode * This,
            BSTR bstrPassword);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( 
            ICANode * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attachments )( 
            ICANode * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SaveItem )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Book )( 
            ICANode * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetNewPassword )( 
            ICANode * This,
            /* [in] */ BSTR bstrNewPassword,
            /* [in] */ long nFlags);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InitArticle )( 
            ICANode * This,
            /* [in] */ BSTR bstrText,
            /* [in] */ BSTR bstrURL,
            /* [in] */ IDispatch *pProfile);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MoveTo )( 
            ICANode * This,
            /* [in] */ IDispatch *pDispNodeTo,
            /* [in] */ VARIANT_BOOL bCopy,
            /* [retval][out] */ IDispatch **pDispNewNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MoveToRecycleBin )( 
            ICANode * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICANode * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICANode * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReloadFromFile )( 
            ICANode * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FindChildNode )( 
            ICANode * This,
            /* [in] */ BSTR bstrNodeTitle,
            /* [retval][out] */ IDispatch **ppChildDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NeedPassword )( 
            ICANode * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddAttachment )( 
            ICANode * This,
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ IDispatch **ppAttachmentDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsIn )( 
            ICANode * This,
            /* [in] */ LONG nFolderID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InitArticleIndirect )( 
            ICANode * This,
            /* [in] */ VARIANT vArticle,
            /* [in] */ VARIANT vAttachments);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPasswordStorage )( 
            ICANode * This,
            /* [in] */ VARIANT vPasswordStorage);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DecryptOther )( 
            ICANode * This,
            /* [in] */ VARIANT vPasswordStorage);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPrevSiblingNode )( 
            ICANode * This,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetNextSiblingNode )( 
            ICANode * This,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTitlePath )( 
            ICANode * This,
            /* [in] */ VARIANT_BOOL bIncludeSelf,
            /* [in] */ VARIANT_BOOL bIncludeBookName,
            /* [retval][out] */ BSTR *pbstrPath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetArticleData )( 
            ICANode * This,
            /* [in] */ IUnknown *pStreamUnk);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetArticleData )( 
            ICANode * This,
            /* [in] */ IUnknown *pStreamUnk);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            ICANode * This,
            /* [in] */ BSTR bstrAttributeName,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Attribute )( 
            ICANode * This,
            /* [in] */ BSTR bstrAttributeName,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NodeGUID )( 
            ICANode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FindChildNodeEx )( 
            ICANode * This,
            /* [in] */ BSTR bstrNodeTitle,
            /* [in] */ long nFlags,
            /* [retval][out] */ IDispatch **ppChildDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MoveToEx )( 
            ICANode * This,
            /* [in] */ IDispatch *pDispProgress,
            /* [in] */ IDispatch *pDispNodeTo,
            /* [in] */ VARIANT_BOOL bCopy,
            /* [retval][out] */ IDispatch **pDispNewNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteEx )( 
            ICANode * This,
            /* [in] */ IDispatch *pDispProgress);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MoveToRecycleBinEx )( 
            ICANode * This,
            /* [in] */ IDispatch *pDispProgress);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtInfo )( 
            ICANode * This,
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtInfo )( 
            ICANode * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            ICANode * This,
            /* [in] */ BSTR bstrAttributeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveExtInfo )( 
            ICANode * This,
            /* [in] */ BSTR bstrName);
        
        END_INTERFACE
    } ICANodeVtbl;

    interface ICANode
    {
        CONST_VTBL struct ICANodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

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

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

#define ICANode_get_ParentNode(This,pVal)	\
    ( (This)->lpVtbl -> get_ParentNode(This,pVal) ) 

#define ICANode_put_ParentNode(This,newVal)	\
    ( (This)->lpVtbl -> put_ParentNode(This,newVal) ) 

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

#define ICANode_get_Pos(This,pVal)	\
    ( (This)->lpVtbl -> get_Pos(This,pVal) ) 

#define ICANode_put_Pos(This,newVal)	\
    ( (This)->lpVtbl -> put_Pos(This,newVal) ) 

#define ICANode_get_DateCreated(This,pVal)	\
    ( (This)->lpVtbl -> get_DateCreated(This,pVal) ) 

#define ICANode_put_DateCreated(This,newVal)	\
    ( (This)->lpVtbl -> put_DateCreated(This,newVal) ) 

#define ICANode_get_DateModified(This,pVal)	\
    ( (This)->lpVtbl -> get_DateModified(This,pVal) ) 

#define ICANode_put_DateModified(This,newVal)	\
    ( (This)->lpVtbl -> put_DateModified(This,newVal) ) 

#define ICANode_get_DateAccessed(This,pVal)	\
    ( (This)->lpVtbl -> get_DateAccessed(This,pVal) ) 

#define ICANode_put_DateAccessed(This,newVal)	\
    ( (This)->lpVtbl -> put_DateAccessed(This,newVal) ) 

#define ICANode_get_Unread(This,pVal)	\
    ( (This)->lpVtbl -> get_Unread(This,pVal) ) 

#define ICANode_put_Unread(This,newVal)	\
    ( (This)->lpVtbl -> put_Unread(This,newVal) ) 

#define ICANode_get_HasAttachment(This,pVal)	\
    ( (This)->lpVtbl -> get_HasAttachment(This,pVal) ) 

#define ICANode_get_Color(This,pVal)	\
    ( (This)->lpVtbl -> get_Color(This,pVal) ) 

#define ICANode_put_Color(This,newVal)	\
    ( (This)->lpVtbl -> put_Color(This,newVal) ) 

#define ICANode_get_BgColor(This,pVal)	\
    ( (This)->lpVtbl -> get_BgColor(This,pVal) ) 

#define ICANode_put_BgColor(This,newVal)	\
    ( (This)->lpVtbl -> put_BgColor(This,newVal) ) 

#define ICANode_get_Color2(This,pVal)	\
    ( (This)->lpVtbl -> get_Color2(This,pVal) ) 

#define ICANode_put_Color2(This,newVal)	\
    ( (This)->lpVtbl -> put_Color2(This,newVal) ) 

#define ICANode_get_BgColor2(This,pVal)	\
    ( (This)->lpVtbl -> get_BgColor2(This,pVal) ) 

#define ICANode_put_BgColor2(This,newVal)	\
    ( (This)->lpVtbl -> put_BgColor2(This,newVal) ) 

#define ICANode_get_IconIndex(This,pVal)	\
    ( (This)->lpVtbl -> get_IconIndex(This,pVal) ) 

#define ICANode_put_IconIndex(This,newVal)	\
    ( (This)->lpVtbl -> put_IconIndex(This,newVal) ) 

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

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

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

#define ICANode_get_Owner(This,pVal)	\
    ( (This)->lpVtbl -> get_Owner(This,pVal) ) 

#define ICANode_get_FileType(This,pVal)	\
    ( (This)->lpVtbl -> get_FileType(This,pVal) ) 

#define ICANode_put_FileType(This,newVal)	\
    ( (This)->lpVtbl -> put_FileType(This,newVal) ) 

#define ICANode_get_Author(This,pVal)	\
    ( (This)->lpVtbl -> get_Author(This,pVal) ) 

#define ICANode_put_Author(This,newVal)	\
    ( (This)->lpVtbl -> put_Author(This,newVal) ) 

#define ICANode_get_Keywords(This,pVal)	\
    ( (This)->lpVtbl -> get_Keywords(This,pVal) ) 

#define ICANode_put_Keywords(This,newVal)	\
    ( (This)->lpVtbl -> put_Keywords(This,newVal) ) 

#define ICANode_get_Label1(This,pVal)	\
    ( (This)->lpVtbl -> get_Label1(This,pVal) ) 

#define ICANode_put_Label1(This,newVal)	\
    ( (This)->lpVtbl -> put_Label1(This,newVal) ) 

#define ICANode_get_Label2(This,pVal)	\
    ( (This)->lpVtbl -> get_Label2(This,pVal) ) 

#define ICANode_put_Label2(This,newVal)	\
    ( (This)->lpVtbl -> put_Label2(This,newVal) ) 

#define ICANode_get_Label3(This,pVal)	\
    ( (This)->lpVtbl -> get_Label3(This,pVal) ) 

#define ICANode_put_Label3(This,newVal)	\
    ( (This)->lpVtbl -> put_Label3(This,newVal) ) 

#define ICANode_get_Label4(This,pVal)	\
    ( (This)->lpVtbl -> get_Label4(This,pVal) ) 

#define ICANode_put_Label4(This,newVal)	\
    ( (This)->lpVtbl -> put_Label4(This,newVal) ) 

#define ICANode_get_Label5(This,pVal)	\
    ( (This)->lpVtbl -> get_Label5(This,pVal) ) 

#define ICANode_put_Label5(This,newVal)	\
    ( (This)->lpVtbl -> put_Label5(This,newVal) ) 

#define ICANode_get_URL(This,pVal)	\
    ( (This)->lpVtbl -> get_URL(This,pVal) ) 

#define ICANode_put_URL(This,newVal)	\
    ( (This)->lpVtbl -> put_URL(This,newVal) ) 

#define ICANode_get_Comments(This,pVal)	\
    ( (This)->lpVtbl -> get_Comments(This,pVal) ) 

#define ICANode_put_Comments(This,newVal)	\
    ( (This)->lpVtbl -> put_Comments(This,newVal) ) 

#define ICANode_get_Text(This,pVal)	\
    ( (This)->lpVtbl -> get_Text(This,pVal) ) 

#define ICANode_get_Article(This,pVal)	\
    ( (This)->lpVtbl -> get_Article(This,pVal) ) 

#define ICANode_get_HasPassword(This,pVal)	\
    ( (This)->lpVtbl -> get_HasPassword(This,pVal) ) 

#define ICANode_put_Password(This,bstrPassword)	\
    ( (This)->lpVtbl -> put_Password(This,bstrPassword) ) 

#define ICANode_get_Children(This,pVal)	\
    ( (This)->lpVtbl -> get_Children(This,pVal) ) 

#define ICANode_get_Attachments(This,pVal)	\
    ( (This)->lpVtbl -> get_Attachments(This,pVal) ) 

#define ICANode_get_ProfileName(This,pVal)	\
    ( (This)->lpVtbl -> get_ProfileName(This,pVal) ) 

#define ICANode_get_SaveItem(This,pVal)	\
    ( (This)->lpVtbl -> get_SaveItem(This,pVal) ) 

#define ICANode_get_Book(This,pVal)	\
    ( (This)->lpVtbl -> get_Book(This,pVal) ) 

#define ICANode_SetNewPassword(This,bstrNewPassword,nFlags)	\
    ( (This)->lpVtbl -> SetNewPassword(This,bstrNewPassword,nFlags) ) 

#define ICANode_InitArticle(This,bstrText,bstrURL,pProfile)	\
    ( (This)->lpVtbl -> InitArticle(This,bstrText,bstrURL,pProfile) ) 

#define ICANode_MoveTo(This,pDispNodeTo,bCopy,pDispNewNode)	\
    ( (This)->lpVtbl -> MoveTo(This,pDispNodeTo,bCopy,pDispNewNode) ) 

#define ICANode_MoveToRecycleBin(This)	\
    ( (This)->lpVtbl -> MoveToRecycleBin(This) ) 

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

#define ICANode_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICANode_ReloadFromFile(This,bstrFileName)	\
    ( (This)->lpVtbl -> ReloadFromFile(This,bstrFileName) ) 

#define ICANode_FindChildNode(This,bstrNodeTitle,ppChildDisp)	\
    ( (This)->lpVtbl -> FindChildNode(This,bstrNodeTitle,ppChildDisp) ) 

#define ICANode_NeedPassword(This)	\
    ( (This)->lpVtbl -> NeedPassword(This) ) 

#define ICANode_AddAttachment(This,bstrFileName,ppAttachmentDisp)	\
    ( (This)->lpVtbl -> AddAttachment(This,bstrFileName,ppAttachmentDisp) ) 

#define ICANode_IsIn(This,nFolderID)	\
    ( (This)->lpVtbl -> IsIn(This,nFolderID) ) 

#define ICANode_InitArticleIndirect(This,vArticle,vAttachments)	\
    ( (This)->lpVtbl -> InitArticleIndirect(This,vArticle,vAttachments) ) 

#define ICANode_SetPasswordStorage(This,vPasswordStorage)	\
    ( (This)->lpVtbl -> SetPasswordStorage(This,vPasswordStorage) ) 

#define ICANode_DecryptOther(This,vPasswordStorage)	\
    ( (This)->lpVtbl -> DecryptOther(This,vPasswordStorage) ) 

#define ICANode_GetPrevSiblingNode(This,ppNodeDisp)	\
    ( (This)->lpVtbl -> GetPrevSiblingNode(This,ppNodeDisp) ) 

#define ICANode_GetNextSiblingNode(This,ppNodeDisp)	\
    ( (This)->lpVtbl -> GetNextSiblingNode(This,ppNodeDisp) ) 

#define ICANode_GetTitlePath(This,bIncludeSelf,bIncludeBookName,pbstrPath)	\
    ( (This)->lpVtbl -> GetTitlePath(This,bIncludeSelf,bIncludeBookName,pbstrPath) ) 

#define ICANode_GetArticleData(This,pStreamUnk)	\
    ( (This)->lpVtbl -> GetArticleData(This,pStreamUnk) ) 

#define ICANode_SetArticleData(This,pStreamUnk)	\
    ( (This)->lpVtbl -> SetArticleData(This,pStreamUnk) ) 

#define ICANode_get_Attribute(This,bstrAttributeName,pVal)	\
    ( (This)->lpVtbl -> get_Attribute(This,bstrAttributeName,pVal) ) 

#define ICANode_put_Attribute(This,bstrAttributeName,newVal)	\
    ( (This)->lpVtbl -> put_Attribute(This,bstrAttributeName,newVal) ) 

#define ICANode_get_NodeGUID(This,pVal)	\
    ( (This)->lpVtbl -> get_NodeGUID(This,pVal) ) 

#define ICANode_FindChildNodeEx(This,bstrNodeTitle,nFlags,ppChildDisp)	\
    ( (This)->lpVtbl -> FindChildNodeEx(This,bstrNodeTitle,nFlags,ppChildDisp) ) 

#define ICANode_MoveToEx(This,pDispProgress,pDispNodeTo,bCopy,pDispNewNode)	\
    ( (This)->lpVtbl -> MoveToEx(This,pDispProgress,pDispNodeTo,bCopy,pDispNewNode) ) 

#define ICANode_DeleteEx(This,pDispProgress)	\
    ( (This)->lpVtbl -> DeleteEx(This,pDispProgress) ) 

#define ICANode_MoveToRecycleBinEx(This,pDispProgress)	\
    ( (This)->lpVtbl -> MoveToRecycleBinEx(This,pDispProgress) ) 

#define ICANode_get_ExtInfo(This,bstrName,pVal)	\
    ( (This)->lpVtbl -> get_ExtInfo(This,bstrName,pVal) ) 

#define ICANode_put_ExtInfo(This,bstrName,newVal)	\
    ( (This)->lpVtbl -> put_ExtInfo(This,bstrName,newVal) ) 

#define ICANode_RemoveAttribute(This,bstrAttributeName)	\
    ( (This)->lpVtbl -> RemoveAttribute(This,bstrAttributeName) ) 

#define ICANode_RemoveExtInfo(This,bstrName)	\
    ( (This)->lpVtbl -> RemoveExtInfo(This,bstrName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICANode_INTERFACE_DEFINED__ */


#ifndef __ICANode2_INTERFACE_DEFINED__
#define __ICANode2_INTERFACE_DEFINED__

/* interface ICANode2 */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICANode2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("63125354-BBCE-4352-9884-3156F5287CBF")
    ICANode2 : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_History( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAllAttributes( 
            /* [retval][out] */ VARIANT *pvarAttributes) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyAttributes( 
            /* [in] */ IDispatch *pDispNodeTo) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICANode2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICANode2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICANode2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICANode2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICANode2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICANode2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICANode2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICANode2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_History )( 
            ICANode2 * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAllAttributes )( 
            ICANode2 * This,
            /* [retval][out] */ VARIANT *pvarAttributes);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyAttributes )( 
            ICANode2 * This,
            /* [in] */ IDispatch *pDispNodeTo);
        
        END_INTERFACE
    } ICANode2Vtbl;

    interface ICANode2
    {
        CONST_VTBL struct ICANode2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICANode2_get_History(This,pVal)	\
    ( (This)->lpVtbl -> get_History(This,pVal) ) 

#define ICANode2_GetAllAttributes(This,pvarAttributes)	\
    ( (This)->lpVtbl -> GetAllAttributes(This,pvarAttributes) ) 

#define ICANode2_CopyAttributes(This,pDispNodeTo)	\
    ( (This)->lpVtbl -> CopyAttributes(This,pDispNodeTo) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICANode2_INTERFACE_DEFINED__ */


#ifndef __ICANodeCollection_INTERFACE_DEFINED__
#define __ICANodeCollection_INTERFACE_DEFINED__

/* interface ICANodeCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICANodeCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D647D5C3-42BD-4DB7-8A2A-65B5469847E7")
    ICANodeCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG nIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IDispatch *pDisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICANodeCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICANodeCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICANodeCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICANodeCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICANodeCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICANodeCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICANodeCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICANodeCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICANodeCollection * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICANodeCollection * This,
            /* [in] */ LONG nIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            ICANodeCollection * This,
            /* [in] */ IDispatch *pDisp);
        
        END_INTERFACE
    } ICANodeCollectionVtbl;

    interface ICANodeCollection
    {
        CONST_VTBL struct ICANodeCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICANodeCollection_get_Item(This,nIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,nIndex,pVal) ) 

#define ICANodeCollection_Add(This,pDisp)	\
    ( (This)->lpVtbl -> Add(This,pDisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICANodeCollection_INTERFACE_DEFINED__ */


#ifndef __ICAArticle_INTERFACE_DEFINED__
#define __ICAArticle_INTERFACE_DEFINED__

/* interface ICAArticle */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAArticle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6BBCEC6C-93C4-4E0C-96E9-91E1769D6306")
    ICAArticle : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveAsHTML( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveAsHTMLAnsi( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveAsHTMLAnsiEx( 
            /* [in] */ BSTR bstrFileName,
            /* [in] */ VARIANT_BOOL vbNoUtf8) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveAsMIME( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Children( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveAsHtmlForWebUploader( 
            /* [in] */ BSTR bstrFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAArticleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAArticle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAArticle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAArticle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAArticle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAArticle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAArticle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAArticle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveAsHTML )( 
            ICAArticle * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveAsHTMLAnsi )( 
            ICAArticle * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveAsHTMLAnsiEx )( 
            ICAArticle * This,
            /* [in] */ BSTR bstrFileName,
            /* [in] */ VARIANT_BOOL vbNoUtf8);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveAsMIME )( 
            ICAArticle * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( 
            ICAArticle * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveAsHtmlForWebUploader )( 
            ICAArticle * This,
            /* [in] */ BSTR bstrFileName);
        
        END_INTERFACE
    } ICAArticleVtbl;

    interface ICAArticle
    {
        CONST_VTBL struct ICAArticleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICAArticle_SaveAsHTML(This,bstrFileName)	\
    ( (This)->lpVtbl -> SaveAsHTML(This,bstrFileName) ) 

#define ICAArticle_SaveAsHTMLAnsi(This,bstrFileName)	\
    ( (This)->lpVtbl -> SaveAsHTMLAnsi(This,bstrFileName) ) 

#define ICAArticle_SaveAsHTMLAnsiEx(This,bstrFileName,vbNoUtf8)	\
    ( (This)->lpVtbl -> SaveAsHTMLAnsiEx(This,bstrFileName,vbNoUtf8) ) 

#define ICAArticle_SaveAsMIME(This,bstrFileName)	\
    ( (This)->lpVtbl -> SaveAsMIME(This,bstrFileName) ) 

#define ICAArticle_get_Children(This,pVal)	\
    ( (This)->lpVtbl -> get_Children(This,pVal) ) 

#define ICAArticle_SaveAsHtmlForWebUploader(This,bstrFileName)	\
    ( (This)->lpVtbl -> SaveAsHtmlForWebUploader(This,bstrFileName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAArticle_INTERFACE_DEFINED__ */


#ifndef __ICALabelCollection_INTERFACE_DEFINED__
#define __ICALabelCollection_INTERFACE_DEFINED__

/* interface ICALabelCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICALabelCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("88C50B51-A622-4555-AB3C-C96EB61C7420")
    ICALabelCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ ULONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IDispatch *pLabelDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IndexOfByName( 
            /* [in] */ BSTR bstrLabelName,
            /* [retval][out] */ LONG *pnIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICALabelCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICALabelCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICALabelCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICALabelCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICALabelCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICALabelCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICALabelCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICALabelCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICALabelCollection * This,
            /* [retval][out] */ ULONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICALabelCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            ICALabelCollection * This,
            /* [in] */ IDispatch *pLabelDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IndexOfByName )( 
            ICALabelCollection * This,
            /* [in] */ BSTR bstrLabelName,
            /* [retval][out] */ LONG *pnIndex);
        
        END_INTERFACE
    } ICALabelCollectionVtbl;

    interface ICALabelCollection
    {
        CONST_VTBL struct ICALabelCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICALabelCollection_get_Item(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,lIndex,pVal) ) 

#define ICALabelCollection_Add(This,pLabelDisp)	\
    ( (This)->lpVtbl -> Add(This,pLabelDisp) ) 

#define ICALabelCollection_IndexOfByName(This,bstrLabelName,pnIndex)	\
    ( (This)->lpVtbl -> IndexOfByName(This,bstrLabelName,pnIndex) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICALabelCollection_INTERFACE_DEFINED__ */


#ifndef __ICAAttachment_INTERFACE_DEFINED__
#define __ICAAttachment_INTERFACE_DEFINED__

/* interface ICAAttachment */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAAttachment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FA840596-05D9-4B5A-854D-BA42D256F886")
    ICAAttachment : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Node( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveToStream( 
            /* [in] */ IStream *pStream) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Update( 
            /* [in] */ IStream *pStream) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAAttachmentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAAttachment * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAAttachment * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAAttachment * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAAttachment * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAAttachment * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAAttachment * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAAttachment * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            ICAAttachment * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICAAttachment * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ICAAttachment * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            ICAAttachment * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            ICAAttachment * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            ICAAttachment * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            ICAAttachment * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Node )( 
            ICAAttachment * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveToStream )( 
            ICAAttachment * This,
            /* [in] */ IStream *pStream);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            ICAAttachment * This,
            /* [in] */ IStream *pStream);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICAAttachment * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICAAttachment * This);
        
        END_INTERFACE
    } ICAAttachmentVtbl;

    interface ICAAttachment
    {
        CONST_VTBL struct ICAAttachmentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

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

#define ICAAttachment_put_Name(This,newVal)	\
    ( (This)->lpVtbl -> put_Name(This,newVal) ) 

#define ICAAttachment_get_URL(This,pVal)	\
    ( (This)->lpVtbl -> get_URL(This,pVal) ) 

#define ICAAttachment_put_URL(This,newVal)	\
    ( (This)->lpVtbl -> put_URL(This,newVal) ) 

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

#define ICAAttachment_put_Text(This,newVal)	\
    ( (This)->lpVtbl -> put_Text(This,newVal) ) 

#define ICAAttachment_get_Node(This,pVal)	\
    ( (This)->lpVtbl -> get_Node(This,pVal) ) 

#define ICAAttachment_SaveToStream(This,pStream)	\
    ( (This)->lpVtbl -> SaveToStream(This,pStream) ) 

#define ICAAttachment_Update(This,pStream)	\
    ( (This)->lpVtbl -> Update(This,pStream) ) 

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

#define ICAAttachment_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAAttachment_INTERFACE_DEFINED__ */


#ifndef __ICAAttachmentCollection_INTERFACE_DEFINED__
#define __ICAAttachmentCollection_INTERFACE_DEFINED__

/* interface ICAAttachmentCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAAttachmentCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1AA100F1-AA21-4CD6-BCD4-15D9D4D49EB8")
    ICAAttachmentCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ ULONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAAttachmentCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAAttachmentCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAAttachmentCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAAttachmentCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAAttachmentCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAAttachmentCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAAttachmentCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAAttachmentCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICAAttachmentCollection * This,
            /* [retval][out] */ ULONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICAAttachmentCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        END_INTERFACE
    } ICAAttachmentCollectionVtbl;

    interface ICAAttachmentCollection
    {
        CONST_VTBL struct ICAAttachmentCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICAAttachmentCollection_get_Item(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,lIndex,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAAttachmentCollection_INTERFACE_DEFINED__ */


#ifndef __ICAArticleResource_INTERFACE_DEFINED__
#define __ICAArticleResource_INTERFACE_DEFINED__

/* interface ICAArticleResource */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAArticleResource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("361BFDAB-CA41-4A36-AF20-41D1C98F2BD1")
    ICAArticleResource : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveToStream( 
            /* [in] */ IStream *pStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAArticleResourceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAArticleResource * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAArticleResource * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAArticleResource * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAArticleResource * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAArticleResource * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAArticleResource * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAArticleResource * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICAArticleResource * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            ICAArticleResource * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            ICAArticleResource * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveToStream )( 
            ICAArticleResource * This,
            /* [in] */ IStream *pStream);
        
        END_INTERFACE
    } ICAArticleResourceVtbl;

    interface ICAArticleResource
    {
        CONST_VTBL struct ICAArticleResourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICAArticleResource_get_URL(This,pVal)	\
    ( (This)->lpVtbl -> get_URL(This,pVal) ) 

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

#define ICAArticleResource_SaveToStream(This,pStream)	\
    ( (This)->lpVtbl -> SaveToStream(This,pStream) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAArticleResource_INTERFACE_DEFINED__ */


#ifndef __ICAArticleResourceCollection_INTERFACE_DEFINED__
#define __ICAArticleResourceCollection_INTERFACE_DEFINED__

/* interface ICAArticleResourceCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAArticleResourceCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2D906CF2-E8E1-4CF8-B83C-B56B243261CB")
    ICAArticleResourceCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ItemFromName( 
            /* [in] */ BSTR bstrResourceName,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BeginUpdate( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndUpdate( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ BSTR bstrResourceName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Update( 
            /* [in] */ BSTR bstrResourceName,
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetArticleSourceCode( 
            /* [retval][out] */ BSTR *pbstrText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetArticleSourceCode( 
            /* [in] */ BSTR bstrText) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAArticleResourceCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAArticleResourceCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAArticleResourceCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAArticleResourceCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAArticleResourceCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAArticleResourceCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAArticleResourceCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAArticleResourceCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICAArticleResourceCollection * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICAArticleResourceCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemFromName )( 
            ICAArticleResourceCollection * This,
            /* [in] */ BSTR bstrResourceName,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginUpdate )( 
            ICAArticleResourceCollection * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndUpdate )( 
            ICAArticleResourceCollection * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICAArticleResourceCollection * This,
            /* [in] */ BSTR bstrResourceName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            ICAArticleResourceCollection * This,
            /* [in] */ BSTR bstrResourceName,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetArticleSourceCode )( 
            ICAArticleResourceCollection * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetArticleSourceCode )( 
            ICAArticleResourceCollection * This,
            /* [in] */ BSTR bstrText);
        
        END_INTERFACE
    } ICAArticleResourceCollectionVtbl;

    interface ICAArticleResourceCollection
    {
        CONST_VTBL struct ICAArticleResourceCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICAArticleResourceCollection_get_Item(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,lIndex,pVal) ) 

#define ICAArticleResourceCollection_get_ItemFromName(This,bstrResourceName,pVal)	\
    ( (This)->lpVtbl -> get_ItemFromName(This,bstrResourceName,pVal) ) 

#define ICAArticleResourceCollection_BeginUpdate(This)	\
    ( (This)->lpVtbl -> BeginUpdate(This) ) 

#define ICAArticleResourceCollection_EndUpdate(This)	\
    ( (This)->lpVtbl -> EndUpdate(This) ) 

#define ICAArticleResourceCollection_Delete(This,bstrResourceName)	\
    ( (This)->lpVtbl -> Delete(This,bstrResourceName) ) 

#define ICAArticleResourceCollection_Update(This,bstrResourceName,bstrFileName)	\
    ( (This)->lpVtbl -> Update(This,bstrResourceName,bstrFileName) ) 

#define ICAArticleResourceCollection_GetArticleSourceCode(This,pbstrText)	\
    ( (This)->lpVtbl -> GetArticleSourceCode(This,pbstrText) ) 

#define ICAArticleResourceCollection_SetArticleSourceCode(This,bstrText)	\
    ( (This)->lpVtbl -> SetArticleSourceCode(This,bstrText) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAArticleResourceCollection_INTERFACE_DEFINED__ */


#ifndef __ICAProfile_INTERFACE_DEFINED__
#define __ICAProfile_INTERFACE_DEFINED__

/* interface ICAProfile */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C37133E1-DCD0-4382-8AC6-F625B479260E")
    ICAProfile : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IncludeImages( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_IncludeImages( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IncludeFlash( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_IncludeFlash( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IncludeScript( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_IncludeScript( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DownloadItems( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DownloadItems( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Overwrite( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Overwrite( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OverwriteCurrentFolderOnly( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OverwriteCurrentFolderOnly( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoGetKeywords( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoGetKeywords( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoGetComments( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoGetComments( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoGetAuthor( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoGetAuthor( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAProfileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAProfile * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAProfile * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAProfile * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAProfile * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAProfile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAProfile * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAProfile * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICAProfile * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ICAProfile * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeImages )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeImages )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeFlash )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeFlash )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeScript )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeScript )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadItems )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DownloadItems )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Overwrite )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Overwrite )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OverwriteCurrentFolderOnly )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OverwriteCurrentFolderOnly )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoGetKeywords )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoGetKeywords )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoGetComments )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoGetComments )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoGetAuthor )( 
            ICAProfile * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoGetAuthor )( 
            ICAProfile * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        END_INTERFACE
    } ICAProfileVtbl;

    interface ICAProfile
    {
        CONST_VTBL struct ICAProfileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICAProfile_put_Name(This,newVal)	\
    ( (This)->lpVtbl -> put_Name(This,newVal) ) 

#define ICAProfile_get_IncludeImages(This,pVal)	\
    ( (This)->lpVtbl -> get_IncludeImages(This,pVal) ) 

#define ICAProfile_put_IncludeImages(This,newVal)	\
    ( (This)->lpVtbl -> put_IncludeImages(This,newVal) ) 

#define ICAProfile_get_IncludeFlash(This,pVal)	\
    ( (This)->lpVtbl -> get_IncludeFlash(This,pVal) ) 

#define ICAProfile_put_IncludeFlash(This,newVal)	\
    ( (This)->lpVtbl -> put_IncludeFlash(This,newVal) ) 

#define ICAProfile_get_IncludeScript(This,pVal)	\
    ( (This)->lpVtbl -> get_IncludeScript(This,pVal) ) 

#define ICAProfile_put_IncludeScript(This,newVal)	\
    ( (This)->lpVtbl -> put_IncludeScript(This,newVal) ) 

#define ICAProfile_get_DownloadItems(This,pVal)	\
    ( (This)->lpVtbl -> get_DownloadItems(This,pVal) ) 

#define ICAProfile_put_DownloadItems(This,newVal)	\
    ( (This)->lpVtbl -> put_DownloadItems(This,newVal) ) 

#define ICAProfile_get_Overwrite(This,pVal)	\
    ( (This)->lpVtbl -> get_Overwrite(This,pVal) ) 

#define ICAProfile_put_Overwrite(This,newVal)	\
    ( (This)->lpVtbl -> put_Overwrite(This,newVal) ) 

#define ICAProfile_get_OverwriteCurrentFolderOnly(This,pVal)	\
    ( (This)->lpVtbl -> get_OverwriteCurrentFolderOnly(This,pVal) ) 

#define ICAProfile_put_OverwriteCurrentFolderOnly(This,newVal)	\
    ( (This)->lpVtbl -> put_OverwriteCurrentFolderOnly(This,newVal) ) 

#define ICAProfile_get_AutoGetKeywords(This,pVal)	\
    ( (This)->lpVtbl -> get_AutoGetKeywords(This,pVal) ) 

#define ICAProfile_put_AutoGetKeywords(This,newVal)	\
    ( (This)->lpVtbl -> put_AutoGetKeywords(This,newVal) ) 

#define ICAProfile_get_AutoGetComments(This,pVal)	\
    ( (This)->lpVtbl -> get_AutoGetComments(This,pVal) ) 

#define ICAProfile_put_AutoGetComments(This,newVal)	\
    ( (This)->lpVtbl -> put_AutoGetComments(This,newVal) ) 

#define ICAProfile_get_AutoGetAuthor(This,pVal)	\
    ( (This)->lpVtbl -> get_AutoGetAuthor(This,pVal) ) 

#define ICAProfile_put_AutoGetAuthor(This,newVal)	\
    ( (This)->lpVtbl -> put_AutoGetAuthor(This,newVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAProfile_INTERFACE_DEFINED__ */


#ifndef __ICALabel_INTERFACE_DEFINED__
#define __ICALabel_INTERFACE_DEFINED__

/* interface ICALabel */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICALabel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F8DB0B56-16E4-44DB-A9BB-5EBDB724A87C")
    ICALabel : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SortFieldName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SortFieldName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SortType( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SortType( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Book( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Children( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICALabelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICALabel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICALabel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICALabel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICALabel * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICALabel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICALabel * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICALabel * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            ICALabel * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICALabel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ICALabel * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortFieldName )( 
            ICALabel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortFieldName )( 
            ICALabel * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortType )( 
            ICALabel * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortType )( 
            ICALabel * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Book )( 
            ICALabel * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( 
            ICALabel * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICALabel * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICALabel * This);
        
        END_INTERFACE
    } ICALabelVtbl;

    interface ICALabel
    {
        CONST_VTBL struct ICALabelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

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

#define ICALabel_put_Name(This,newVal)	\
    ( (This)->lpVtbl -> put_Name(This,newVal) ) 

#define ICALabel_get_SortFieldName(This,pVal)	\
    ( (This)->lpVtbl -> get_SortFieldName(This,pVal) ) 

#define ICALabel_put_SortFieldName(This,newVal)	\
    ( (This)->lpVtbl -> put_SortFieldName(This,newVal) ) 

#define ICALabel_get_SortType(This,pVal)	\
    ( (This)->lpVtbl -> get_SortType(This,pVal) ) 

#define ICALabel_put_SortType(This,newVal)	\
    ( (This)->lpVtbl -> put_SortType(This,newVal) ) 

#define ICALabel_get_Book(This,pVal)	\
    ( (This)->lpVtbl -> get_Book(This,pVal) ) 

#define ICALabel_get_Children(This,pVal)	\
    ( (This)->lpVtbl -> get_Children(This,pVal) ) 

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

#define ICALabel_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICALabel_INTERFACE_DEFINED__ */


#ifndef __ICABookCollection_INTERFACE_DEFINED__
#define __ICABookCollection_INTERFACE_DEFINED__

/* interface ICABookCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICABookCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C69FD916-6AF1-49B6-BF97-CB9F079822B3")
    ICABookCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_GUID( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionString( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BookName( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BookFileName( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_BookFileName( 
            /* [in] */ LONG lIndex,
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BookIconIndex( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BookOpened( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_BookOpened( 
            /* [in] */ LONG lIndex,
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BookClass( 
            LONG lIndex,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_BookClass( 
            LONG lIndex,
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddLocalBook( 
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ LONG *plIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddBook( 
            /* [in] */ BSTR bstrConnectionString,
            /* [retval][out] */ LONG *plIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ LONG nIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ConnectionStringFromGUID( 
            /* [in] */ BSTR bstrGUID,
            /* [retval][out] */ BSTR *pbstrConnectionString) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IndexOfGUID( 
            /* [in] */ BSTR bstrGUID,
            /* [retval][out] */ LONG *plIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICABookCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICABookCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICABookCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICABookCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICABookCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICABookCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICABookCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICABookCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICABookCollection * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
            ICABookCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionString )( 
            ICABookCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookName )( 
            ICABookCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookFileName )( 
            ICABookCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BookFileName )( 
            ICABookCollection * This,
            /* [in] */ LONG lIndex,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookIconIndex )( 
            ICABookCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookOpened )( 
            ICABookCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BookOpened )( 
            ICABookCollection * This,
            /* [in] */ LONG lIndex,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookClass )( 
            ICABookCollection * This,
            LONG lIndex,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BookClass )( 
            ICABookCollection * This,
            LONG lIndex,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddLocalBook )( 
            ICABookCollection * This,
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ LONG *plIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddBook )( 
            ICABookCollection * This,
            /* [in] */ BSTR bstrConnectionString,
            /* [retval][out] */ LONG *plIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            ICABookCollection * This,
            /* [in] */ LONG nIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ConnectionStringFromGUID )( 
            ICABookCollection * This,
            /* [in] */ BSTR bstrGUID,
            /* [retval][out] */ BSTR *pbstrConnectionString);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IndexOfGUID )( 
            ICABookCollection * This,
            /* [in] */ BSTR bstrGUID,
            /* [retval][out] */ LONG *plIndex);
        
        END_INTERFACE
    } ICABookCollectionVtbl;

    interface ICABookCollection
    {
        CONST_VTBL struct ICABookCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICABookCollection_get_GUID(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_GUID(This,lIndex,pVal) ) 

#define ICABookCollection_get_ConnectionString(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_ConnectionString(This,lIndex,pVal) ) 

#define ICABookCollection_get_BookName(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_BookName(This,lIndex,pVal) ) 

#define ICABookCollection_get_BookFileName(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_BookFileName(This,lIndex,pVal) ) 

#define ICABookCollection_put_BookFileName(This,lIndex,newVal)	\
    ( (This)->lpVtbl -> put_BookFileName(This,lIndex,newVal) ) 

#define ICABookCollection_get_BookIconIndex(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_BookIconIndex(This,lIndex,pVal) ) 

#define ICABookCollection_get_BookOpened(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_BookOpened(This,lIndex,pVal) ) 

#define ICABookCollection_put_BookOpened(This,lIndex,newVal)	\
    ( (This)->lpVtbl -> put_BookOpened(This,lIndex,newVal) ) 

#define ICABookCollection_get_BookClass(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_BookClass(This,lIndex,pVal) ) 

#define ICABookCollection_put_BookClass(This,lIndex,newVal)	\
    ( (This)->lpVtbl -> put_BookClass(This,lIndex,newVal) ) 

#define ICABookCollection_AddLocalBook(This,bstrFileName,plIndex)	\
    ( (This)->lpVtbl -> AddLocalBook(This,bstrFileName,plIndex) ) 

#define ICABookCollection_AddBook(This,bstrConnectionString,plIndex)	\
    ( (This)->lpVtbl -> AddBook(This,bstrConnectionString,plIndex) ) 

#define ICABookCollection_Remove(This,nIndex)	\
    ( (This)->lpVtbl -> Remove(This,nIndex) ) 

#define ICABookCollection_ConnectionStringFromGUID(This,bstrGUID,pbstrConnectionString)	\
    ( (This)->lpVtbl -> ConnectionStringFromGUID(This,bstrGUID,pbstrConnectionString) ) 

#define ICABookCollection_IndexOfGUID(This,bstrGUID,plIndex)	\
    ( (This)->lpVtbl -> IndexOfGUID(This,bstrGUID,plIndex) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICABookCollection_INTERFACE_DEFINED__ */


#ifndef __ICACommand_INTERFACE_DEFINED__
#define __ICACommand_INTERFACE_DEFINED__

/* interface ICACommand */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICACommand;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("86F897D6-F0AB-4077-B497-62D02867E0E3")
    ICACommand : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExecuteSaveWebPageCommand( 
            /* [in] */ BSTR bstrFileName) = 0;
        
    };
    
#else 	/* C style interface */

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

    interface ICACommand
    {
        CONST_VTBL struct ICACommandVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICACommand_ExecuteSaveWebPageCommand(This,bstrFileName)	\
    ( (This)->lpVtbl -> ExecuteSaveWebPageCommand(This,bstrFileName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICACommand_INTERFACE_DEFINED__ */


#ifndef __ICAProfileCollection_INTERFACE_DEFINED__
#define __ICAProfileCollection_INTERFACE_DEFINED__

/* interface ICAProfileCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAProfileCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CEC2A60C-3637-4D98-ABED-FDB710113F91")
    ICAProfileCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultProfile( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ProfileForEdit( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IDispatch *pDispProfile,
            /* [retval][out] */ LONG *pnIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ LONG lIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetProfileByName( 
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ IDispatch **ppDispProfile) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAProfileCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAProfileCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAProfileCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAProfileCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAProfileCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAProfileCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAProfileCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAProfileCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICAProfileCollection * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICAProfileCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultProfile )( 
            ICAProfileCollection * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileForEdit )( 
            ICAProfileCollection * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            ICAProfileCollection * This,
            /* [in] */ IDispatch *pDispProfile,
            /* [retval][out] */ LONG *pnIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICAProfileCollection * This,
            /* [in] */ LONG lIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetProfileByName )( 
            ICAProfileCollection * This,
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ IDispatch **ppDispProfile);
        
        END_INTERFACE
    } ICAProfileCollectionVtbl;

    interface ICAProfileCollection
    {
        CONST_VTBL struct ICAProfileCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICAProfileCollection_get_Item(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,lIndex,pVal) ) 

#define ICAProfileCollection_get_DefaultProfile(This,pVal)	\
    ( (This)->lpVtbl -> get_DefaultProfile(This,pVal) ) 

#define ICAProfileCollection_get_ProfileForEdit(This,pVal)	\
    ( (This)->lpVtbl -> get_ProfileForEdit(This,pVal) ) 

#define ICAProfileCollection_Add(This,pDispProfile,pnIndex)	\
    ( (This)->lpVtbl -> Add(This,pDispProfile,pnIndex) ) 

#define ICAProfileCollection_Delete(This,lIndex)	\
    ( (This)->lpVtbl -> Delete(This,lIndex) ) 

#define ICAProfileCollection_GetProfileByName(This,bstrName,ppDispProfile)	\
    ( (This)->lpVtbl -> GetProfileByName(This,bstrName,ppDispProfile) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAProfileCollection_INTERFACE_DEFINED__ */


#ifndef __ICADatabase_INTERFACE_DEFINED__
#define __ICADatabase_INTERFACE_DEFINED__

/* interface ICADatabase */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICADatabase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("99AD2E5C-EB6E-4F42-AF9D-7C9F7B30C408")
    ICADatabase : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreateTableSQL( 
            /* [in] */ BSTR bstrTableName,
            /* [retval][out] */ BSTR *pbstrSQL) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICADatabaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICADatabase * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICADatabase * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICADatabase * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICADatabase * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICADatabase * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICADatabase * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICADatabase * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreateTableSQL )( 
            ICADatabase * This,
            /* [in] */ BSTR bstrTableName,
            /* [retval][out] */ BSTR *pbstrSQL);
        
        END_INTERFACE
    } ICADatabaseVtbl;

    interface ICADatabase
    {
        CONST_VTBL struct ICADatabaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICADatabase_get_CreateTableSQL(This,bstrTableName,pbstrSQL)	\
    ( (This)->lpVtbl -> get_CreateTableSQL(This,bstrTableName,pbstrSQL) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICADatabase_INTERFACE_DEFINED__ */


#ifndef __ICADBError_INTERFACE_DEFINED__
#define __ICADBError_INTERFACE_DEFINED__

/* interface ICADBError */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICADBError;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A39A9CDB-DA46-4256-B586-47720E6A3C6A")
    ICADBError : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ErrorMessage( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ErrorMessage( 
            /* [in] */ BSTR newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICADBErrorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICADBError * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICADBError * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICADBError * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICADBError * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICADBError * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICADBError * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICADBError * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ErrorMessage )( 
            ICADBError * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ErrorMessage )( 
            ICADBError * This,
            /* [in] */ BSTR newVal);
        
        END_INTERFACE
    } ICADBErrorVtbl;

    interface ICADBError
    {
        CONST_VTBL struct ICADBErrorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICADBError_get_ErrorMessage(This,pVal)	\
    ( (This)->lpVtbl -> get_ErrorMessage(This,pVal) ) 

#define ICADBError_put_ErrorMessage(This,newVal)	\
    ( (This)->lpVtbl -> put_ErrorMessage(This,newVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICADBError_INTERFACE_DEFINED__ */


#ifndef __ICABookmark_INTERFACE_DEFINED__
#define __ICABookmark_INTERFACE_DEFINED__

/* interface ICABookmark */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICABookmark;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A6157E58-FDE3-4E71-8619-A3143DE7D612")
    ICABookmark : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_GUID( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Parent( 
            /* [in] */ IDispatch *newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Children( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PosX( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PosX( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PosY( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PosY( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IconIndex( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_IconIndex( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Pos( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Pos( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateChildBookmark( 
            /* [in] */ IDispatch *pNodeDisp,
            /* [in] */ LONG nIconIndex,
            /* [in] */ LONG nPosX,
            /* [in] */ LONG nPosY,
            /* [retval][out] */ IDispatch **ppNewBookmarkDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateChildFolder( 
            /* [in] */ BSTR bstrTitle,
            /* [in] */ LONG nIconIndex,
            /* [retval][out] */ IDispatch **ppNewFolderDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNode( 
            /* [out] */ BSTR *pbstrBookGUID,
            /* [out] */ LONG *pnNodeID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICABookmarkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICABookmark * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICABookmark * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICABookmark * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICABookmark * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICABookmark * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICABookmark * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICABookmark * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICABookmark * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
            ICABookmark * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ICABookmark * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Parent )( 
            ICABookmark * This,
            /* [in] */ IDispatch *newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( 
            ICABookmark * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            ICABookmark * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            ICABookmark * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PosX )( 
            ICABookmark * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PosX )( 
            ICABookmark * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PosY )( 
            ICABookmark * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PosY )( 
            ICABookmark * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IconIndex )( 
            ICABookmark * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( 
            ICABookmark * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pos )( 
            ICABookmark * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Pos )( 
            ICABookmark * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateChildBookmark )( 
            ICABookmark * This,
            /* [in] */ IDispatch *pNodeDisp,
            /* [in] */ LONG nIconIndex,
            /* [in] */ LONG nPosX,
            /* [in] */ LONG nPosY,
            /* [retval][out] */ IDispatch **ppNewBookmarkDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateChildFolder )( 
            ICABookmark * This,
            /* [in] */ BSTR bstrTitle,
            /* [in] */ LONG nIconIndex,
            /* [retval][out] */ IDispatch **ppNewFolderDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICABookmark * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetNode )( 
            ICABookmark * This,
            /* [out] */ BSTR *pbstrBookGUID,
            /* [out] */ LONG *pnNodeID);
        
        END_INTERFACE
    } ICABookmarkVtbl;

    interface ICABookmark
    {
        CONST_VTBL struct ICABookmarkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICABookmark_get_GUID(This,pVal)	\
    ( (This)->lpVtbl -> get_GUID(This,pVal) ) 

#define ICABookmark_get_Parent(This,pVal)	\
    ( (This)->lpVtbl -> get_Parent(This,pVal) ) 

#define ICABookmark_put_Parent(This,newVal)	\
    ( (This)->lpVtbl -> put_Parent(This,newVal) ) 

#define ICABookmark_get_Children(This,pVal)	\
    ( (This)->lpVtbl -> get_Children(This,pVal) ) 

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

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

#define ICABookmark_get_PosX(This,pVal)	\
    ( (This)->lpVtbl -> get_PosX(This,pVal) ) 

#define ICABookmark_put_PosX(This,newVal)	\
    ( (This)->lpVtbl -> put_PosX(This,newVal) ) 

#define ICABookmark_get_PosY(This,pVal)	\
    ( (This)->lpVtbl -> get_PosY(This,pVal) ) 

#define ICABookmark_put_PosY(This,newVal)	\
    ( (This)->lpVtbl -> put_PosY(This,newVal) ) 

#define ICABookmark_get_IconIndex(This,pVal)	\
    ( (This)->lpVtbl -> get_IconIndex(This,pVal) ) 

#define ICABookmark_put_IconIndex(This,newVal)	\
    ( (This)->lpVtbl -> put_IconIndex(This,newVal) ) 

#define ICABookmark_get_Pos(This,pVal)	\
    ( (This)->lpVtbl -> get_Pos(This,pVal) ) 

#define ICABookmark_put_Pos(This,newVal)	\
    ( (This)->lpVtbl -> put_Pos(This,newVal) ) 

#define ICABookmark_CreateChildBookmark(This,pNodeDisp,nIconIndex,nPosX,nPosY,ppNewBookmarkDisp)	\
    ( (This)->lpVtbl -> CreateChildBookmark(This,pNodeDisp,nIconIndex,nPosX,nPosY,ppNewBookmarkDisp) ) 

#define ICABookmark_CreateChildFolder(This,bstrTitle,nIconIndex,ppNewFolderDisp)	\
    ( (This)->lpVtbl -> CreateChildFolder(This,bstrTitle,nIconIndex,ppNewFolderDisp) ) 

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

#define ICABookmark_GetNode(This,pbstrBookGUID,pnNodeID)	\
    ( (This)->lpVtbl -> GetNode(This,pbstrBookGUID,pnNodeID) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICABookmark_INTERFACE_DEFINED__ */


#ifndef __ICABookmarkCollection_INTERFACE_DEFINED__
#define __ICABookmarkCollection_INTERFACE_DEFINED__

/* interface ICABookmarkCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICABookmarkCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B000FF17-F8E8-40A5-BDAA-97F74A85DD9D")
    ICABookmarkCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG nIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICABookmarkCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICABookmarkCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICABookmarkCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICABookmarkCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICABookmarkCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICABookmarkCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICABookmarkCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICABookmarkCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICABookmarkCollection * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICABookmarkCollection * This,
            /* [in] */ LONG nIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        END_INTERFACE
    } ICABookmarkCollectionVtbl;

    interface ICABookmarkCollection
    {
        CONST_VTBL struct ICABookmarkCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICABookmarkCollection_get_Item(This,nIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,nIndex,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICABookmarkCollection_INTERFACE_DEFINED__ */


#ifndef __ICASettings_INTERFACE_DEFINED__
#define __ICASettings_INTERFACE_DEFINED__

/* interface ICASettings */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICASettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BB26FFB3-4BF3-4F23-82B1-2270B63E5561")
    ICASettings : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Bookmarks( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
    };
    
#else 	/* C style interface */

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

    interface ICASettings
    {
        CONST_VTBL struct ICASettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICASettings_get_Bookmarks(This,pVal)	\
    ( (This)->lpVtbl -> get_Bookmarks(This,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICASettings_INTERFACE_DEFINED__ */


#ifndef __ICAWebShare_INTERFACE_DEFINED__
#define __ICAWebShare_INTERFACE_DEFINED__

/* interface ICAWebShare */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAWebShare;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7690018D-A1B8-48B7-AD3C-1441905D97A9")
    ICAWebShare : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSiteSettingsPath( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetArticlePath( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelfTestStatusCode( 
            /* [retval][out] */ long *pnStatusCode) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HardwareCode( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_LicenseBookCount( 
            /* [retval][out] */ long *pnCount) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentBookCount( 
            /* [retval][out] */ long *pnCount) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_UserProfilePath( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SiteProfilePath( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddLicense( 
            /* [in] */ BSTR bstrLicense) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddBook( 
            /* [in] */ BSTR bstrDatabaseType,
            /* [in] */ BSTR bstrServer,
            /* [in] */ BSTR bstrUserName,
            /* [in] */ BSTR bstrPassword,
            /* [in] */ BSTR bstrDatabaseName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveBook( 
            /* [in] */ BSTR bstrBookGUID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBookGUID( 
            /* [in] */ LONG nIndex,
            /* [retval][out] */ BSTR *pbstrGUID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBookName( 
            /* [in] */ BSTR bstrBookGUID,
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CanOpenBook( 
            /* [in] */ BSTR bstrBookGUID,
            /* [retval][out] */ VARIANT_BOOL *pbRet) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetOpenBook( 
            /* [in] */ BSTR bstrBookGUID,
            /* [in] */ VARIANT_BOOL bOpen) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetRootNode( 
            /* [in] */ BSTR bstrBookGUID,
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNodeByID( 
            /* [in] */ BSTR bstrBookGUID,
            /* [in] */ LONG nNodeID,
            /* [retval][out] */ IDispatch **ppNodeDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ViewArticle( 
            /* [in] */ BSTR bstrBookGUID,
            /* [in] */ LONG nNodeID,
            /* [retval][out] */ BSTR *pbstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Search( 
            /* [in] */ BSTR bstrFind,
            /* [in] */ LONG nFlags,
            /* [retval][out] */ IDispatch **ppResultDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecentArticles( 
            long nFlags,
            /* [retval][out] */ IDispatch **ppArticlesDisp) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLastErrorMessage( 
            /* [retval][out] */ BSTR *pbstrErrorMessage) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE WriteLog( 
            /* [in] */ BSTR bstrLogText) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAWebShareVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAWebShare * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAWebShare * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAWebShare * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAWebShare * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAWebShare * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAWebShare * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAWebShare * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSiteSettingsPath )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrPath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetArticlePath )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrPath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSelfTestStatusCode )( 
            ICAWebShare * This,
            /* [retval][out] */ long *pnStatusCode);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HardwareCode )( 
            ICAWebShare * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LicenseBookCount )( 
            ICAWebShare * This,
            /* [retval][out] */ long *pnCount);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentBookCount )( 
            ICAWebShare * This,
            /* [retval][out] */ long *pnCount);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserProfilePath )( 
            ICAWebShare * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SiteProfilePath )( 
            ICAWebShare * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddLicense )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrLicense);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddBook )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrDatabaseType,
            /* [in] */ BSTR bstrServer,
            /* [in] */ BSTR bstrUserName,
            /* [in] */ BSTR bstrPassword,
            /* [in] */ BSTR bstrDatabaseName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveBook )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrBookGUID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBookGUID )( 
            ICAWebShare * This,
            /* [in] */ LONG nIndex,
            /* [retval][out] */ BSTR *pbstrGUID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBookName )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrBookGUID,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CanOpenBook )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrBookGUID,
            /* [retval][out] */ VARIANT_BOOL *pbRet);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetOpenBook )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrBookGUID,
            /* [in] */ VARIANT_BOOL bOpen);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetRootNode )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrBookGUID,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetNodeByID )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrBookGUID,
            /* [in] */ LONG nNodeID,
            /* [retval][out] */ IDispatch **ppNodeDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ViewArticle )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrBookGUID,
            /* [in] */ LONG nNodeID,
            /* [retval][out] */ BSTR *pbstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Search )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrFind,
            /* [in] */ LONG nFlags,
            /* [retval][out] */ IDispatch **ppResultDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecentArticles )( 
            ICAWebShare * This,
            long nFlags,
            /* [retval][out] */ IDispatch **ppArticlesDisp);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLastErrorMessage )( 
            ICAWebShare * This,
            /* [retval][out] */ BSTR *pbstrErrorMessage);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *WriteLog )( 
            ICAWebShare * This,
            /* [in] */ BSTR bstrLogText);
        
        END_INTERFACE
    } ICAWebShareVtbl;

    interface ICAWebShare
    {
        CONST_VTBL struct ICAWebShareVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICAWebShare_SetSiteSettingsPath(This,bstrPath)	\
    ( (This)->lpVtbl -> SetSiteSettingsPath(This,bstrPath) ) 

#define ICAWebShare_SetArticlePath(This,bstrPath)	\
    ( (This)->lpVtbl -> SetArticlePath(This,bstrPath) ) 

#define ICAWebShare_GetSelfTestStatusCode(This,pnStatusCode)	\
    ( (This)->lpVtbl -> GetSelfTestStatusCode(This,pnStatusCode) ) 

#define ICAWebShare_get_HardwareCode(This,pVal)	\
    ( (This)->lpVtbl -> get_HardwareCode(This,pVal) ) 

#define ICAWebShare_get_LicenseBookCount(This,pnCount)	\
    ( (This)->lpVtbl -> get_LicenseBookCount(This,pnCount) ) 

#define ICAWebShare_get_CurrentBookCount(This,pnCount)	\
    ( (This)->lpVtbl -> get_CurrentBookCount(This,pnCount) ) 

#define ICAWebShare_get_UserProfilePath(This,pVal)	\
    ( (This)->lpVtbl -> get_UserProfilePath(This,pVal) ) 

#define ICAWebShare_get_SiteProfilePath(This,pVal)	\
    ( (This)->lpVtbl -> get_SiteProfilePath(This,pVal) ) 

#define ICAWebShare_AddLicense(This,bstrLicense)	\
    ( (This)->lpVtbl -> AddLicense(This,bstrLicense) ) 

#define ICAWebShare_AddBook(This,bstrDatabaseType,bstrServer,bstrUserName,bstrPassword,bstrDatabaseName)	\
    ( (This)->lpVtbl -> AddBook(This,bstrDatabaseType,bstrServer,bstrUserName,bstrPassword,bstrDatabaseName) ) 

#define ICAWebShare_RemoveBook(This,bstrBookGUID)	\
    ( (This)->lpVtbl -> RemoveBook(This,bstrBookGUID) ) 

#define ICAWebShare_GetBookGUID(This,nIndex,pbstrGUID)	\
    ( (This)->lpVtbl -> GetBookGUID(This,nIndex,pbstrGUID) ) 

#define ICAWebShare_GetBookName(This,bstrBookGUID,pbstrName)	\
    ( (This)->lpVtbl -> GetBookName(This,bstrBookGUID,pbstrName) ) 

#define ICAWebShare_CanOpenBook(This,bstrBookGUID,pbRet)	\
    ( (This)->lpVtbl -> CanOpenBook(This,bstrBookGUID,pbRet) ) 

#define ICAWebShare_SetOpenBook(This,bstrBookGUID,bOpen)	\
    ( (This)->lpVtbl -> SetOpenBook(This,bstrBookGUID,bOpen) ) 

#define ICAWebShare_GetRootNode(This,bstrBookGUID,ppNodeDisp)	\
    ( (This)->lpVtbl -> GetRootNode(This,bstrBookGUID,ppNodeDisp) ) 

#define ICAWebShare_GetNodeByID(This,bstrBookGUID,nNodeID,ppNodeDisp)	\
    ( (This)->lpVtbl -> GetNodeByID(This,bstrBookGUID,nNodeID,ppNodeDisp) ) 

#define ICAWebShare_ViewArticle(This,bstrBookGUID,nNodeID,pbstrFileName)	\
    ( (This)->lpVtbl -> ViewArticle(This,bstrBookGUID,nNodeID,pbstrFileName) ) 

#define ICAWebShare_Search(This,bstrFind,nFlags,ppResultDisp)	\
    ( (This)->lpVtbl -> Search(This,bstrFind,nFlags,ppResultDisp) ) 

#define ICAWebShare_RecentArticles(This,nFlags,ppArticlesDisp)	\
    ( (This)->lpVtbl -> RecentArticles(This,nFlags,ppArticlesDisp) ) 

#define ICAWebShare_GetLastErrorMessage(This,pbstrErrorMessage)	\
    ( (This)->lpVtbl -> GetLastErrorMessage(This,pbstrErrorMessage) ) 

#define ICAWebShare_WriteLog(This,bstrLogText)	\
    ( (This)->lpVtbl -> WriteLog(This,bstrLogText) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAWebShare_INTERFACE_DEFINED__ */


#ifndef __ICAIcon_INTERFACE_DEFINED__
#define __ICAIcon_INTERFACE_DEFINED__

/* interface ICAIcon */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAIcon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FC8584C6-15C4-4761-90F9-34917AC3DB87")
    ICAIcon : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveToStream( 
            /* [in] */ IStream *pStream) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAIconVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAIcon * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAIcon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAIcon * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAIcon * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAIcon * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAIcon * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAIcon * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            ICAIcon * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICAIcon * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ICAIcon * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveToStream )( 
            ICAIcon * This,
            /* [in] */ IStream *pStream);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICAIcon * This);
        
        END_INTERFACE
    } ICAIconVtbl;

    interface ICAIcon
    {
        CONST_VTBL struct ICAIconVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

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

#define ICAIcon_put_Name(This,newVal)	\
    ( (This)->lpVtbl -> put_Name(This,newVal) ) 

#define ICAIcon_SaveToStream(This,pStream)	\
    ( (This)->lpVtbl -> SaveToStream(This,pStream) ) 

#define ICAIcon_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAIcon_INTERFACE_DEFINED__ */


#ifndef __ICAIconCollection_INTERFACE_DEFINED__
#define __ICAIconCollection_INTERFACE_DEFINED__

/* interface ICAIconCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAIconCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F62B9B27-CDFC-4C5A-924E-DB23FF12D639")
    ICAIconCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ ULONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAIconCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAIconCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAIconCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAIconCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAIconCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAIconCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAIconCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAIconCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICAIconCollection * This,
            /* [retval][out] */ ULONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICAIconCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        END_INTERFACE
    } ICAIconCollectionVtbl;

    interface ICAIconCollection
    {
        CONST_VTBL struct ICAIconCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICAIconCollection_get_Item(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,lIndex,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAIconCollection_INTERFACE_DEFINED__ */


#ifndef __ICAModificationLog_INTERFACE_DEFINED__
#define __ICAModificationLog_INTERFACE_DEFINED__

/* interface ICAModificationLog */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAModificationLog;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("35032014-A83F-4421-8E0C-213EE38D5091")
    ICAModificationLog : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Flags( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DataID( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAModificationLogVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAModificationLog * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAModificationLog * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAModificationLog * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAModificationLog * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAModificationLog * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAModificationLog * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAModificationLog * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            ICAModificationLog * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICAModificationLog * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Flags )( 
            ICAModificationLog * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DataID )( 
            ICAModificationLog * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            ICAModificationLog * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICAModificationLog * This);
        
        END_INTERFACE
    } ICAModificationLogVtbl;

    interface ICAModificationLog
    {
        CONST_VTBL struct ICAModificationLogVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

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

#define ICAModificationLog_get_Flags(This,pVal)	\
    ( (This)->lpVtbl -> get_Flags(This,pVal) ) 

#define ICAModificationLog_get_DataID(This,pVal)	\
    ( (This)->lpVtbl -> get_DataID(This,pVal) ) 

#define ICAModificationLog_get_Data(This,pVal)	\
    ( (This)->lpVtbl -> get_Data(This,pVal) ) 

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAModificationLog_INTERFACE_DEFINED__ */


#ifndef __ICAModificationLogCollection_INTERFACE_DEFINED__
#define __ICAModificationLogCollection_INTERFACE_DEFINED__

/* interface ICAModificationLogCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICAModificationLogCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9763866E-6B7D-4997-890D-3E8F9ED55A71")
    ICAModificationLogCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ ULONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICAModificationLogCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICAModificationLogCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICAModificationLogCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICAModificationLogCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICAModificationLogCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICAModificationLogCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICAModificationLogCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICAModificationLogCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICAModificationLogCollection * This,
            /* [retval][out] */ ULONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICAModificationLogCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        END_INTERFACE
    } ICAModificationLogCollectionVtbl;

    interface ICAModificationLogCollection
    {
        CONST_VTBL struct ICAModificationLogCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICAModificationLogCollection_get_Item(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,lIndex,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICAModificationLogCollection_INTERFACE_DEFINED__ */


#ifndef __ICANodeHistoryCollection_INTERFACE_DEFINED__
#define __ICANodeHistoryCollection_INTERFACE_DEFINED__

/* interface ICANodeHistoryCollection */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICANodeHistoryCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("03F5D013-B571-403E-B9FB-5D1BFAA7C6AC")
    ICANodeHistoryCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ ULONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICANodeHistoryCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICANodeHistoryCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICANodeHistoryCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICANodeHistoryCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICANodeHistoryCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICANodeHistoryCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICANodeHistoryCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICANodeHistoryCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICANodeHistoryCollection * This,
            /* [retval][out] */ ULONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ICANodeHistoryCollection * This,
            /* [in] */ LONG lIndex,
            /* [retval][out] */ IDispatch **pVal);
        
        END_INTERFACE
    } ICANodeHistoryCollectionVtbl;

    interface ICANodeHistoryCollection
    {
        CONST_VTBL struct ICANodeHistoryCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


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

#define ICANodeHistoryCollection_get_Item(This,lIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,lIndex,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICANodeHistoryCollection_INTERFACE_DEFINED__ */


#ifndef __ICANodeHistory_INTERFACE_DEFINED__
#define __ICANodeHistory_INTERFACE_DEFINED__

/* interface ICANodeHistory */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ICANodeHistory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("64960AD6-73D8-4521-B689-41A492182DC0")
    ICANodeHistory : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_GUID( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Node( 
            /* [retval][out] */ IDispatch **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasPassword( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateModified( 
            /* [retval][out] */ DATE *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Owner( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Comments( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Comments( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveAsHTML( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetAsCurrent( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICANodeHistoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICANodeHistory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICANodeHistory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICANodeHistory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICANodeHistory * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICANodeHistory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICANodeHistory * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICANodeHistory * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
            ICANodeHistory * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Node )( 
            ICANodeHistory * This,
            /* [retval][out] */ IDispatch **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasPassword )( 
            ICANodeHistory * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            ICANodeHistory * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateModified )( 
            ICANodeHistory * This,
            /* [retval][out] */ DATE *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Owner )( 
            ICANodeHistory * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comments )( 
            ICANodeHistory * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comments )( 
            ICANodeHistory * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICANodeHistory * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveAsHTML )( 
            ICANodeHistory * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetAsCurrent )( 
            ICANodeHistory * This);
        
        END_INTERFACE
    } ICANodeHistoryVtbl;

    interface ICANodeHistory
    {
        CONST_VTBL struct ICANodeHistoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICANodeHistory_get_GUID(This,pVal)	\
    ( (This)->lpVtbl -> get_GUID(This,pVal) ) 

#define ICANodeHistory_get_Node(This,pVal)	\
    ( (This)->lpVtbl -> get_Node(This,pVal) ) 

#define ICANodeHistory_get_HasPassword(This,pVal)	\
    ( (This)->lpVtbl -> get_HasPassword(This,pVal) ) 

#define ICANodeHistory_get_Version(This,pVal)	\
    ( (This)->lpVtbl -> get_Version(This,pVal) ) 

#define ICANodeHistory_get_DateModified(This,pVal)	\
    ( (This)->lpVtbl -> get_DateModified(This,pVal) ) 

#define ICANodeHistory_get_Owner(This,pVal)	\
    ( (This)->lpVtbl -> get_Owner(This,pVal) ) 

#define ICANodeHistory_get_Comments(This,pVal)	\
    ( (This)->lpVtbl -> get_Comments(This,pVal) ) 

#define ICANodeHistory_put_Comments(This,newVal)	\
    ( (This)->lpVtbl -> put_Comments(This,newVal) ) 

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

#define ICANodeHistory_SaveAsHTML(This,bstrFileName)	\
    ( (This)->lpVtbl -> SaveAsHTML(This,bstrFileName) ) 

#define ICANodeHistory_SetAsCurrent(This)	\
    ( (This)->lpVtbl -> SetAsCurrent(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICANodeHistory_INTERFACE_DEFINED__ */



#ifndef __CyberArticleBookLib_LIBRARY_DEFINED__
#define __CyberArticleBookLib_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_CyberArticleBookLib;

EXTERN_C const CLSID CLSID_CABook;

#ifdef __cplusplus

class DECLSPEC_UUID("CE174230-8019-4F06-964F-40FAAD3BA924")
CABook;
#endif

EXTERN_C const CLSID CLSID_CANode;

#ifdef __cplusplus

class DECLSPEC_UUID("8D97F475-DBCE-4012-B438-FDF9DE8E1429")
CANode;
#endif

EXTERN_C const CLSID CLSID_CANodeCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("414C265C-5821-40CC-90E2-724608E86C1F")
CANodeCollection;
#endif

EXTERN_C const CLSID CLSID_CAArticle;

#ifdef __cplusplus

class DECLSPEC_UUID("C3E33F87-D7BA-45A5-9AEA-CDE403BF3352")
CAArticle;
#endif

EXTERN_C const CLSID CLSID_CALabelCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("98B665C1-A5DB-48D8-BF90-F1DE693BD06B")
CALabelCollection;
#endif

EXTERN_C const CLSID CLSID_CAAttachment;

#ifdef __cplusplus

class DECLSPEC_UUID("764F42F9-CADD-4616-BCA7-FE8357E36AF5")
CAAttachment;
#endif

EXTERN_C const CLSID CLSID_CAAttachmentCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("03481E1F-A396-4B7A-BA18-F30D5B1BDF75")
CAAttachmentCollection;
#endif

EXTERN_C const CLSID CLSID_CAArticleResource;

#ifdef __cplusplus

class DECLSPEC_UUID("D59B027C-AD1B-412B-9CA4-E4E5F40C8FC1")
CAArticleResource;
#endif

EXTERN_C const CLSID CLSID_CAArticleResourceCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("FCCE01C2-079B-4E59-89EA-78DDB00F7D54")
CAArticleResourceCollection;
#endif

EXTERN_C const CLSID CLSID_CAProfile;

#ifdef __cplusplus

class DECLSPEC_UUID("D7849792-F9D0-4B3E-B6D6-FF263A8B7DCD")
CAProfile;
#endif

EXTERN_C const CLSID CLSID_CALabel;

#ifdef __cplusplus

class DECLSPEC_UUID("9656D759-60A4-4371-A352-446F466028DF")
CALabel;
#endif

EXTERN_C const CLSID CLSID_CABookCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("A631DD43-5147-49B8-976F-5FAE1A84B2C4")
CABookCollection;
#endif

EXTERN_C const CLSID CLSID_CACommand;

#ifdef __cplusplus

class DECLSPEC_UUID("719262F1-3DA3-44EC-8DA5-EAFD255AD2D5")
CACommand;
#endif

EXTERN_C const CLSID CLSID_CAProfileCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("FE92CED3-4414-401E-9CE9-924604A823FB")
CAProfileCollection;
#endif

EXTERN_C const CLSID CLSID_CADatabase;

#ifdef __cplusplus

class DECLSPEC_UUID("5BB08738-EC4F-43DB-947A-8422A68EFF83")
CADatabase;
#endif

EXTERN_C const CLSID CLSID_CADBError;

#ifdef __cplusplus

class DECLSPEC_UUID("2728A5AE-A3C8-4F5C-A6E1-6BECC4FB3940")
CADBError;
#endif

EXTERN_C const CLSID CLSID_CABookmark;

#ifdef __cplusplus

class DECLSPEC_UUID("4DC571D8-ADFB-4C09-A616-26673234000B")
CABookmark;
#endif

EXTERN_C const CLSID CLSID_CABookmarkCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("5BAA767B-1D77-4361-B3DA-58760E1CF526")
CABookmarkCollection;
#endif

EXTERN_C const CLSID CLSID_CASettings;

#ifdef __cplusplus

class DECLSPEC_UUID("67692DC3-3BEE-4E5B-9DCF-F72E43867AD6")
CASettings;
#endif

EXTERN_C const CLSID CLSID_CAWebShare;

#ifdef __cplusplus

class DECLSPEC_UUID("474FCC31-6645-4E8B-BE22-01B764E36356")
CAWebShare;
#endif

EXTERN_C const CLSID CLSID_CAIcon;

#ifdef __cplusplus

class DECLSPEC_UUID("5292EA90-57F0-4397-B01D-322B6EF82A3C")
CAIcon;
#endif

EXTERN_C const CLSID CLSID_CAIconCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("10F5AED7-8FB5-49D1-935F-0A848E2FFDAF")
CAIconCollection;
#endif

EXTERN_C const CLSID CLSID_CAModificationLog;

#ifdef __cplusplus

class DECLSPEC_UUID("A383DD3D-5627-403C-8E6C-716FABC06392")
CAModificationLog;
#endif

EXTERN_C const CLSID CLSID_CAModificationLogCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("6A2AE1A7-983E-4ACD-B417-4963924DEDE8")
CAModificationLogCollection;
#endif

EXTERN_C const CLSID CLSID_CANodeHistoryCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("F0653A5D-8C15-4B57-8796-EABE4744970F")
CANodeHistoryCollection;
#endif

EXTERN_C const CLSID CLSID_CANodeHistory;

#ifdef __cplusplus

class DECLSPEC_UUID("C3CDD9A4-7A67-4E24-8B0A-9134398CC8BA")
CANodeHistory;
#endif
#endif /* __CyberArticleBookLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

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

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


