/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the w64 mingw-runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

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

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

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

#ifndef __mmcobj_h__
#define __mmcobj_h__

#ifndef __ISnapinProperties_FWD_DEFINED__
#define __ISnapinProperties_FWD_DEFINED__
typedef struct ISnapinProperties ISnapinProperties;
#endif

#ifndef __ISnapinPropertiesCallback_FWD_DEFINED__
#define __ISnapinPropertiesCallback_FWD_DEFINED__
typedef struct ISnapinPropertiesCallback ISnapinPropertiesCallback;
#endif

#ifndef ___Application_FWD_DEFINED__
#define ___Application_FWD_DEFINED__
typedef struct _Application _Application;
#endif

#ifndef ___AppEvents_FWD_DEFINED__
#define ___AppEvents_FWD_DEFINED__
typedef struct _AppEvents _AppEvents;
#endif

#ifndef __AppEvents_FWD_DEFINED__
#define __AppEvents_FWD_DEFINED__
typedef struct AppEvents AppEvents;
#endif

#ifndef __Application_FWD_DEFINED__
#define __Application_FWD_DEFINED__
#ifdef __cplusplus
typedef class Application Application;
#else
typedef struct Application Application;
#endif
#endif

#ifndef ___EventConnector_FWD_DEFINED__
#define ___EventConnector_FWD_DEFINED__
typedef struct _EventConnector _EventConnector;
#endif

#ifndef __AppEventsDHTMLConnector_FWD_DEFINED__
#define __AppEventsDHTMLConnector_FWD_DEFINED__
#ifdef __cplusplus
typedef class AppEventsDHTMLConnector AppEventsDHTMLConnector;
#else
typedef struct AppEventsDHTMLConnector AppEventsDHTMLConnector;
#endif
#endif

#ifndef __Frame_FWD_DEFINED__
#define __Frame_FWD_DEFINED__
typedef struct Frame Frame;
#endif

#ifndef __Node_FWD_DEFINED__
#define __Node_FWD_DEFINED__
typedef struct Node Node;
#endif

#ifndef __ScopeNamespace_FWD_DEFINED__
#define __ScopeNamespace_FWD_DEFINED__
typedef struct ScopeNamespace ScopeNamespace;
#endif

#ifndef __Document_FWD_DEFINED__
#define __Document_FWD_DEFINED__
typedef struct Document Document;
#endif

#ifndef __SnapIn_FWD_DEFINED__
#define __SnapIn_FWD_DEFINED__
typedef struct SnapIn SnapIn;
#endif

#ifndef __SnapIns_FWD_DEFINED__
#define __SnapIns_FWD_DEFINED__
typedef struct SnapIns SnapIns;
#endif

#ifndef __Extension_FWD_DEFINED__
#define __Extension_FWD_DEFINED__
typedef struct Extension Extension;
#endif

#ifndef __Extensions_FWD_DEFINED__
#define __Extensions_FWD_DEFINED__
typedef struct Extensions Extensions;
#endif

#ifndef __Columns_FWD_DEFINED__
#define __Columns_FWD_DEFINED__
typedef struct Columns Columns;
#endif

#ifndef __Column_FWD_DEFINED__
#define __Column_FWD_DEFINED__
typedef struct Column Column;
#endif

#ifndef __Views_FWD_DEFINED__
#define __Views_FWD_DEFINED__
typedef struct Views Views;
#endif

#ifndef __View_FWD_DEFINED__
#define __View_FWD_DEFINED__
typedef struct View View;
#endif

#ifndef __Nodes_FWD_DEFINED__
#define __Nodes_FWD_DEFINED__
typedef struct Nodes Nodes;
#endif

#ifndef __ContextMenu_FWD_DEFINED__
#define __ContextMenu_FWD_DEFINED__
typedef struct ContextMenu ContextMenu;
#endif

#ifndef __MenuItem_FWD_DEFINED__
#define __MenuItem_FWD_DEFINED__
typedef struct MenuItem MenuItem;
#endif

#ifndef __Properties_FWD_DEFINED__
#define __Properties_FWD_DEFINED__
typedef struct Properties Properties;
#endif

#ifndef __Property_FWD_DEFINED__
#define __Property_FWD_DEFINED__
typedef struct Property Property;
#endif

#include "oaidl.h"

#ifdef __cplusplus
extern "C"{
#endif

#ifndef __MIDL_user_allocate_free_DEFINED__
#define __MIDL_user_allocate_free_DEFINED__
  void *__RPC_API MIDL_user_allocate(size_t);
  void __RPC_API MIDL_user_free(void *);
#endif

#ifndef MMC_VER
#define MMC_VER 0x0200
#endif

#if (MMC_VER >= 0x0200)
  typedef _Application *PAPPLICATION;
  typedef _Application **PPAPPLICATION;
  typedef Column *PCOLUMN;
  typedef Column **PPCOLUMN;
  typedef Columns *PCOLUMNS;
  typedef Columns **PPCOLUMNS;
  typedef ContextMenu *PCONTEXTMENU;
  typedef ContextMenu **PPCONTEXTMENU;
  typedef Document *PDOCUMENT;
  typedef Document **PPDOCUMENT;
  typedef Frame *PFRAME;
  typedef Frame **PPFRAME;
  typedef MenuItem *PMENUITEM;
  typedef MenuItem **PPMENUITEM;
  typedef Node *PNODE;
  typedef Node **PPNODE;
  typedef Nodes *PNODES;
  typedef Nodes **PPNODES;
  typedef Properties *PPROPERTIES;
  typedef Properties **PPPROPERTIES;
  typedef Property *PPROPERTY;
  typedef Property **PPPROPERTY;
  typedef ScopeNamespace *PSCOPENAMESPACE;
  typedef ScopeNamespace **PPSCOPENAMESPACE;
  typedef SnapIn *PSNAPIN;
  typedef SnapIn **PPSNAPIN;
  typedef SnapIns *PSNAPINS;
  typedef SnapIns **PPSNAPINS;
  typedef Extension *PEXTENSION;
  typedef Extension **PPEXTENSION;
  typedef Extensions *PEXTENSIONS;
  typedef Extensions **PPEXTENSIONS;
  typedef View *PVIEW;
  typedef View **PPVIEW;
  typedef Views *PVIEWS;
  typedef Views **PPVIEWS;
  typedef ISnapinProperties *LPSNAPINPROPERTIES;
  typedef ISnapinPropertiesCallback *LPSNAPINPROPERTIESCALLBACK;
  typedef WINBOOL *PBOOL;
  typedef int *PINT;
  typedef BSTR *PBSTR;
  typedef VARIANT *PVARIANT;
  typedef long *PLONG;
  typedef IDispatch *PDISPATCH;
  typedef IDispatch **PPDISPATCH;

  extern RPC_IF_HANDLE __MIDL_itf_mmcobj_0000_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_mmcobj_0000_v0_0_s_ifspec;

#ifndef __ISnapinProperties_INTERFACE_DEFINED__
#define __ISnapinProperties_INTERFACE_DEFINED__
  typedef enum _MMC_PROPERTY_ACTION {
    MMC_PROPACT_DELETING = 1,MMC_PROPACT_CHANGING,MMC_PROPACT_INITIALIZED
  } MMC_PROPERTY_ACTION;

  typedef struct _MMC_SNAPIN_PROPERTY {
    LPCOLESTR pszPropName;
    VARIANT varValue;
    MMC_PROPERTY_ACTION eAction;
  } MMC_SNAPIN_PROPERTY;

  EXTERN_C const IID IID_ISnapinProperties;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct ISnapinProperties : public IUnknown {
  public:
    virtual HRESULT WINAPI Initialize(Properties *pProperties) = 0;
    virtual HRESULT WINAPI QueryPropertyNames(ISnapinPropertiesCallback *pCallback) = 0;
    virtual HRESULT WINAPI PropertiesChanged(long cProperties,MMC_SNAPIN_PROPERTY *pProperties) = 0;
  };
#else
  typedef struct ISnapinPropertiesVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(ISnapinProperties *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(ISnapinProperties *This);
      ULONG (WINAPI *Release)(ISnapinProperties *This);
      HRESULT (WINAPI *Initialize)(ISnapinProperties *This,Properties *pProperties);
      HRESULT (WINAPI *QueryPropertyNames)(ISnapinProperties *This,ISnapinPropertiesCallback *pCallback);
      HRESULT (WINAPI *PropertiesChanged)(ISnapinProperties *This,long cProperties,MMC_SNAPIN_PROPERTY *pProperties);
    END_INTERFACE
  } ISnapinPropertiesVtbl;
  struct ISnapinProperties {
    CONST_VTBL struct ISnapinPropertiesVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define ISnapinProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISnapinProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISnapinProperties_Release(This) (This)->lpVtbl->Release(This)
#define ISnapinProperties_Initialize(This,pProperties) (This)->lpVtbl->Initialize(This,pProperties)
#define ISnapinProperties_QueryPropertyNames(This,pCallback) (This)->lpVtbl->QueryPropertyNames(This,pCallback)
#define ISnapinProperties_PropertiesChanged(This,cProperties,pProperties) (This)->lpVtbl->PropertiesChanged(This,cProperties,pProperties)
#endif
#endif
  HRESULT WINAPI ISnapinProperties_Initialize_Proxy(ISnapinProperties *This,Properties *pProperties);
  void __RPC_STUB ISnapinProperties_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI ISnapinProperties_QueryPropertyNames_Proxy(ISnapinProperties *This,ISnapinPropertiesCallback *pCallback);
  void __RPC_STUB ISnapinProperties_QueryPropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI ISnapinProperties_PropertiesChanged_Proxy(ISnapinProperties *This,long cProperties,MMC_SNAPIN_PROPERTY *pProperties);
  void __RPC_STUB ISnapinProperties_PropertiesChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __ISnapinPropertiesCallback_INTERFACE_DEFINED__
#define __ISnapinPropertiesCallback_INTERFACE_DEFINED__

#define MMC_PROP_CHANGEAFFECTSUI (0x1)
#define MMC_PROP_MODIFIABLE (0x2)
#define MMC_PROP_REMOVABLE (0x4)
#define MMC_PROP_PERSIST (0x8)

  EXTERN_C const IID IID_ISnapinPropertiesCallback;

#if defined(__cplusplus) && !defined(CINTERFACE)
  struct ISnapinPropertiesCallback : public IUnknown {
  public:
    virtual HRESULT WINAPI AddPropertyName(LPCOLESTR pszPropName,DWORD dwFlags) = 0;
  };
#else
  typedef struct ISnapinPropertiesCallbackVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(ISnapinPropertiesCallback *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(ISnapinPropertiesCallback *This);
      ULONG (WINAPI *Release)(ISnapinPropertiesCallback *This);
      HRESULT (WINAPI *AddPropertyName)(ISnapinPropertiesCallback *This,LPCOLESTR pszPropName,DWORD dwFlags);
    END_INTERFACE
  } ISnapinPropertiesCallbackVtbl;
  struct ISnapinPropertiesCallback {
    CONST_VTBL struct ISnapinPropertiesCallbackVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define ISnapinPropertiesCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISnapinPropertiesCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISnapinPropertiesCallback_Release(This) (This)->lpVtbl->Release(This)
#define ISnapinPropertiesCallback_AddPropertyName(This,pszPropName,dwFlags) (This)->lpVtbl->AddPropertyName(This,pszPropName,dwFlags)
#endif
#endif
  HRESULT WINAPI ISnapinPropertiesCallback_AddPropertyName_Proxy(ISnapinPropertiesCallback *This,LPCOLESTR pszPropName,DWORD dwFlags);
  void __RPC_STUB ISnapinPropertiesCallback_AddPropertyName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __MMC20_LIBRARY_DEFINED__
#define __MMC20_LIBRARY_DEFINED__
  typedef enum DocumentMode {
    DocumentMode_Author = 0,DocumentMode_User,DocumentMode_User_MDI,DocumentMode_User_SDI
  } _DocumentMode;

  typedef enum DocumentMode DOCUMENTMODE;
  typedef enum DocumentMode *PDOCUMENTMODE;
  typedef enum DocumentMode **PPDOCUMENTMODE;

  typedef enum ListViewMode {
    ListMode_Small_Icons = 0,ListMode_Large_Icons,ListMode_List,ListMode_Detail,
    ListMode_Filtered
  } _ListViewMode;

  typedef enum ListViewMode LISTVIEWMODE;
  typedef enum ListViewMode *PLISTVIEWMODE;
  typedef enum ListViewMode **PPLISTVIEWMODE;

  typedef enum ViewOptions {
    ViewOption_Default = 0,ViewOption_ScopeTreeHidden = 0x1,ViewOption_NoToolBars = 0x2,ViewOption_NotPersistable = 0x4
  } _ViewOptions;

  typedef enum ViewOptions VIEWOPTIONS;
  typedef enum ViewOptions *PVIEWOPTIONS;
  typedef enum ViewOptions **PPVIEWOPTIONS;

  typedef enum ExportListOptions {
    ExportListOptions_Default = 0,ExportListOptions_Unicode = 0x1,ExportListOptions_TabDelimited = 0x2,ExportListOptions_SelectedItemsOnly = 0x4
  } _ExportListOptions;

  typedef enum ExportListOptions EXPORTLISTOPTIONS;

  EXTERN_C const IID LIBID_MMC20;
#ifndef ___Application_INTERFACE_DEFINED__
#define ___Application_INTERFACE_DEFINED__
  EXTERN_C const IID IID__Application;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct _Application : public IDispatch {
  public:
    virtual void WINAPI Help(void) = 0;
    virtual void WINAPI Quit(void) = 0;
    virtual HRESULT WINAPI get_Document(PPDOCUMENT Document) = 0;
    virtual HRESULT WINAPI Load(BSTR Filename) = 0;
    virtual HRESULT WINAPI get_Frame(PPFRAME Frame) = 0;
    virtual HRESULT WINAPI get_Visible(PBOOL Visible) = 0;
    virtual HRESULT WINAPI Show(void) = 0;
    virtual HRESULT WINAPI Hide(void) = 0;
    virtual HRESULT WINAPI get_UserControl(PBOOL UserControl) = 0;
    virtual HRESULT WINAPI put_UserControl(WINBOOL UserControl) = 0;
    virtual HRESULT WINAPI get_VersionMajor(PLONG VersionMajor) = 0;
    virtual HRESULT WINAPI get_VersionMinor(PLONG VersionMinor) = 0;
  };
#else
  typedef struct _ApplicationVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(_Application *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(_Application *This);
      ULONG (WINAPI *Release)(_Application *This);
      HRESULT (WINAPI *GetTypeInfoCount)(_Application *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(_Application *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(_Application *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(_Application *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      void (WINAPI *Help)(_Application *This);
      void (WINAPI *Quit)(_Application *This);
      HRESULT (WINAPI *get_Document)(_Application *This,PPDOCUMENT Document);
      HRESULT (WINAPI *Load)(_Application *This,BSTR Filename);
      HRESULT (WINAPI *get_Frame)(_Application *This,PPFRAME Frame);
      HRESULT (WINAPI *get_Visible)(_Application *This,PBOOL Visible);
      HRESULT (WINAPI *Show)(_Application *This);
      HRESULT (WINAPI *Hide)(_Application *This);
      HRESULT (WINAPI *get_UserControl)(_Application *This,PBOOL UserControl);
      HRESULT (WINAPI *put_UserControl)(_Application *This,WINBOOL UserControl);
      HRESULT (WINAPI *get_VersionMajor)(_Application *This,PLONG VersionMajor);
      HRESULT (WINAPI *get_VersionMinor)(_Application *This,PLONG VersionMinor);
    END_INTERFACE
  } _ApplicationVtbl;
  struct _Application {
    CONST_VTBL struct _ApplicationVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define _Application_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define _Application_AddRef(This) (This)->lpVtbl->AddRef(This)
#define _Application_Release(This) (This)->lpVtbl->Release(This)
#define _Application_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define _Application_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define _Application_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define _Application_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define _Application_Help(This) (This)->lpVtbl->Help(This)
#define _Application_Quit(This) (This)->lpVtbl->Quit(This)
#define _Application_get_Document(This,Document) (This)->lpVtbl->get_Document(This,Document)
#define _Application_Load(This,Filename) (This)->lpVtbl->Load(This,Filename)
#define _Application_get_Frame(This,Frame) (This)->lpVtbl->get_Frame(This,Frame)
#define _Application_get_Visible(This,Visible) (This)->lpVtbl->get_Visible(This,Visible)
#define _Application_Show(This) (This)->lpVtbl->Show(This)
#define _Application_Hide(This) (This)->lpVtbl->Hide(This)
#define _Application_get_UserControl(This,UserControl) (This)->lpVtbl->get_UserControl(This,UserControl)
#define _Application_put_UserControl(This,UserControl) (This)->lpVtbl->put_UserControl(This,UserControl)
#define _Application_get_VersionMajor(This,VersionMajor) (This)->lpVtbl->get_VersionMajor(This,VersionMajor)
#define _Application_get_VersionMinor(This,VersionMinor) (This)->lpVtbl->get_VersionMinor(This,VersionMinor)
#endif
#endif
  void WINAPI _Application_Help_Proxy(_Application *This);
  void __RPC_STUB _Application_Help_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  void WINAPI _Application_Quit_Proxy(_Application *This);
  void __RPC_STUB _Application_Quit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_get_Document_Proxy(_Application *This,PPDOCUMENT Document);
  void __RPC_STUB _Application_get_Document_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_Load_Proxy(_Application *This,BSTR Filename);
  void __RPC_STUB _Application_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_get_Frame_Proxy(_Application *This,PPFRAME Frame);
  void __RPC_STUB _Application_get_Frame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_get_Visible_Proxy(_Application *This,PBOOL Visible);
  void __RPC_STUB _Application_get_Visible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_Show_Proxy(_Application *This);
  void __RPC_STUB _Application_Show_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_Hide_Proxy(_Application *This);
  void __RPC_STUB _Application_Hide_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_get_UserControl_Proxy(_Application *This,PBOOL UserControl);
  void __RPC_STUB _Application_get_UserControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_put_UserControl_Proxy(_Application *This,WINBOOL UserControl);
  void __RPC_STUB _Application_put_UserControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_get_VersionMajor_Proxy(_Application *This,PLONG VersionMajor);
  void __RPC_STUB _Application_get_VersionMajor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _Application_get_VersionMinor_Proxy(_Application *This,PLONG VersionMinor);
  void __RPC_STUB _Application_get_VersionMinor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef ___AppEvents_INTERFACE_DEFINED__
#define ___AppEvents_INTERFACE_DEFINED__
  EXTERN_C const IID IID__AppEvents;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct _AppEvents : public IDispatch {
  public:
    virtual HRESULT WINAPI OnQuit(PAPPLICATION Application) = 0;
    virtual HRESULT WINAPI OnDocumentOpen(PDOCUMENT Document,WINBOOL New) = 0;
    virtual HRESULT WINAPI OnDocumentClose(PDOCUMENT Document) = 0;
    virtual HRESULT WINAPI OnSnapInAdded(PDOCUMENT Document,PSNAPIN SnapIn) = 0;
    virtual HRESULT WINAPI OnSnapInRemoved(PDOCUMENT Document,PSNAPIN SnapIn) = 0;
    virtual HRESULT WINAPI OnNewView(PVIEW View) = 0;
    virtual HRESULT WINAPI OnViewClose(PVIEW View) = 0;
    virtual HRESULT WINAPI OnViewChange(PVIEW View,PNODE NewOwnerNode) = 0;
    virtual HRESULT WINAPI OnSelectionChange(PVIEW View,PNODES NewNodes) = 0;
    virtual HRESULT WINAPI OnContextMenuExecuted(PMENUITEM MenuItem) = 0;
    virtual HRESULT WINAPI OnToolbarButtonClicked(void) = 0;
    virtual HRESULT WINAPI OnListUpdated(PVIEW View) = 0;
  };
#else
  typedef struct _AppEventsVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(_AppEvents *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(_AppEvents *This);
      ULONG (WINAPI *Release)(_AppEvents *This);
      HRESULT (WINAPI *GetTypeInfoCount)(_AppEvents *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(_AppEvents *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(_AppEvents *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(_AppEvents *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *OnQuit)(_AppEvents *This,PAPPLICATION Application);
      HRESULT (WINAPI *OnDocumentOpen)(_AppEvents *This,PDOCUMENT Document,WINBOOL New);
      HRESULT (WINAPI *OnDocumentClose)(_AppEvents *This,PDOCUMENT Document);
      HRESULT (WINAPI *OnSnapInAdded)(_AppEvents *This,PDOCUMENT Document,PSNAPIN SnapIn);
      HRESULT (WINAPI *OnSnapInRemoved)(_AppEvents *This,PDOCUMENT Document,PSNAPIN SnapIn);
      HRESULT (WINAPI *OnNewView)(_AppEvents *This,PVIEW View);
      HRESULT (WINAPI *OnViewClose)(_AppEvents *This,PVIEW View);
      HRESULT (WINAPI *OnViewChange)(_AppEvents *This,PVIEW View,PNODE NewOwnerNode);
      HRESULT (WINAPI *OnSelectionChange)(_AppEvents *This,PVIEW View,PNODES NewNodes);
      HRESULT (WINAPI *OnContextMenuExecuted)(_AppEvents *This,PMENUITEM MenuItem);
      HRESULT (WINAPI *OnToolbarButtonClicked)(_AppEvents *This);
      HRESULT (WINAPI *OnListUpdated)(_AppEvents *This,PVIEW View);
    END_INTERFACE
  } _AppEventsVtbl;
  struct _AppEvents {
    CONST_VTBL struct _AppEventsVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define _AppEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define _AppEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define _AppEvents_Release(This) (This)->lpVtbl->Release(This)
#define _AppEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define _AppEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define _AppEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define _AppEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define _AppEvents_OnQuit(This,Application) (This)->lpVtbl->OnQuit(This,Application)
#define _AppEvents_OnDocumentOpen(This,Document,New) (This)->lpVtbl->OnDocumentOpen(This,Document,New)
#define _AppEvents_OnDocumentClose(This,Document) (This)->lpVtbl->OnDocumentClose(This,Document)
#define _AppEvents_OnSnapInAdded(This,Document,SnapIn) (This)->lpVtbl->OnSnapInAdded(This,Document,SnapIn)
#define _AppEvents_OnSnapInRemoved(This,Document,SnapIn) (This)->lpVtbl->OnSnapInRemoved(This,Document,SnapIn)
#define _AppEvents_OnNewView(This,View) (This)->lpVtbl->OnNewView(This,View)
#define _AppEvents_OnViewClose(This,View) (This)->lpVtbl->OnViewClose(This,View)
#define _AppEvents_OnViewChange(This,View,NewOwnerNode) (This)->lpVtbl->OnViewChange(This,View,NewOwnerNode)
#define _AppEvents_OnSelectionChange(This,View,NewNodes) (This)->lpVtbl->OnSelectionChange(This,View,NewNodes)
#define _AppEvents_OnContextMenuExecuted(This,MenuItem) (This)->lpVtbl->OnContextMenuExecuted(This,MenuItem)
#define _AppEvents_OnToolbarButtonClicked(This) (This)->lpVtbl->OnToolbarButtonClicked(This)
#define _AppEvents_OnListUpdated(This,View) (This)->lpVtbl->OnListUpdated(This,View)
#endif
#endif
  HRESULT WINAPI _AppEvents_OnQuit_Proxy(_AppEvents *This,PAPPLICATION Application);
  void __RPC_STUB _AppEvents_OnQuit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnDocumentOpen_Proxy(_AppEvents *This,PDOCUMENT Document,WINBOOL New);
  void __RPC_STUB _AppEvents_OnDocumentOpen_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnDocumentClose_Proxy(_AppEvents *This,PDOCUMENT Document);
  void __RPC_STUB _AppEvents_OnDocumentClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnSnapInAdded_Proxy(_AppEvents *This,PDOCUMENT Document,PSNAPIN SnapIn);
  void __RPC_STUB _AppEvents_OnSnapInAdded_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnSnapInRemoved_Proxy(_AppEvents *This,PDOCUMENT Document,PSNAPIN SnapIn);
  void __RPC_STUB _AppEvents_OnSnapInRemoved_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnNewView_Proxy(_AppEvents *This,PVIEW View);
  void __RPC_STUB _AppEvents_OnNewView_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnViewClose_Proxy(_AppEvents *This,PVIEW View);
  void __RPC_STUB _AppEvents_OnViewClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnViewChange_Proxy(_AppEvents *This,PVIEW View,PNODE NewOwnerNode);
  void __RPC_STUB _AppEvents_OnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnSelectionChange_Proxy(_AppEvents *This,PVIEW View,PNODES NewNodes);
  void __RPC_STUB _AppEvents_OnSelectionChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnContextMenuExecuted_Proxy(_AppEvents *This,PMENUITEM MenuItem);
  void __RPC_STUB _AppEvents_OnContextMenuExecuted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnToolbarButtonClicked_Proxy(_AppEvents *This);
  void __RPC_STUB _AppEvents_OnToolbarButtonClicked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _AppEvents_OnListUpdated_Proxy(_AppEvents *This,PVIEW View);
  void __RPC_STUB _AppEvents_OnListUpdated_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __AppEvents_DISPINTERFACE_DEFINED__
#define __AppEvents_DISPINTERFACE_DEFINED__
  EXTERN_C const IID DIID_AppEvents;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct AppEvents : public IDispatch {
  };
#else
  typedef struct AppEventsVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(AppEvents *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(AppEvents *This);
      ULONG (WINAPI *Release)(AppEvents *This);
      HRESULT (WINAPI *GetTypeInfoCount)(AppEvents *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(AppEvents *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(AppEvents *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(AppEvents *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    END_INTERFACE
  } AppEventsVtbl;
  struct AppEvents {
    CONST_VTBL struct AppEventsVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define AppEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define AppEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define AppEvents_Release(This) (This)->lpVtbl->Release(This)
#define AppEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define AppEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define AppEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define AppEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#endif
#endif
#endif
  EXTERN_C const CLSID CLSID_Application;
#ifdef __cplusplus
  class Application;
#endif

#ifndef ___EventConnector_INTERFACE_DEFINED__
#define ___EventConnector_INTERFACE_DEFINED__
  EXTERN_C const IID IID__EventConnector;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct _EventConnector : public IDispatch {
  public:
    virtual HRESULT WINAPI ConnectTo(PAPPLICATION Application) = 0;
    virtual HRESULT WINAPI Disconnect(void) = 0;
  };
#else
  typedef struct _EventConnectorVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(_EventConnector *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(_EventConnector *This);
      ULONG (WINAPI *Release)(_EventConnector *This);
      HRESULT (WINAPI *GetTypeInfoCount)(_EventConnector *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(_EventConnector *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(_EventConnector *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(_EventConnector *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *ConnectTo)(_EventConnector *This,PAPPLICATION Application);
      HRESULT (WINAPI *Disconnect)(_EventConnector *This);
    END_INTERFACE
  } _EventConnectorVtbl;
  struct _EventConnector {
    CONST_VTBL struct _EventConnectorVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define _EventConnector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define _EventConnector_AddRef(This) (This)->lpVtbl->AddRef(This)
#define _EventConnector_Release(This) (This)->lpVtbl->Release(This)
#define _EventConnector_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define _EventConnector_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define _EventConnector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define _EventConnector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define _EventConnector_ConnectTo(This,Application) (This)->lpVtbl->ConnectTo(This,Application)
#define _EventConnector_Disconnect(This) (This)->lpVtbl->Disconnect(This)
#endif
#endif
  HRESULT WINAPI _EventConnector_ConnectTo_Proxy(_EventConnector *This,PAPPLICATION Application);
  void __RPC_STUB _EventConnector_ConnectTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI _EventConnector_Disconnect_Proxy(_EventConnector *This);
  void __RPC_STUB _EventConnector_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

  EXTERN_C const CLSID CLSID_AppEventsDHTMLConnector;
#ifdef __cplusplus
  class AppEventsDHTMLConnector;
#endif

#ifndef __Frame_INTERFACE_DEFINED__
#define __Frame_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Frame;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Frame : public IDispatch {
  public:
    virtual HRESULT WINAPI Maximize(void) = 0;
    virtual HRESULT WINAPI Minimize(void) = 0;
    virtual HRESULT WINAPI Restore(void) = 0;
    virtual HRESULT WINAPI get_Top(PINT Top) = 0;
    virtual HRESULT WINAPI put_Top(int top) = 0;
    virtual HRESULT WINAPI get_Bottom(PINT Bottom) = 0;
    virtual HRESULT WINAPI put_Bottom(int bottom) = 0;
    virtual HRESULT WINAPI get_Left(PINT Left) = 0;
    virtual HRESULT WINAPI put_Left(int left) = 0;
    virtual HRESULT WINAPI get_Right(PINT Right) = 0;
    virtual HRESULT WINAPI put_Right(int right) = 0;
  };
#else
  typedef struct FrameVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Frame *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Frame *This);
      ULONG (WINAPI *Release)(Frame *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Frame *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Frame *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Frame *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Frame *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *Maximize)(Frame *This);
      HRESULT (WINAPI *Minimize)(Frame *This);
      HRESULT (WINAPI *Restore)(Frame *This);
      HRESULT (WINAPI *get_Top)(Frame *This,PINT Top);
      HRESULT (WINAPI *put_Top)(Frame *This,int top);
      HRESULT (WINAPI *get_Bottom)(Frame *This,PINT Bottom);
      HRESULT (WINAPI *put_Bottom)(Frame *This,int bottom);
      HRESULT (WINAPI *get_Left)(Frame *This,PINT Left);
      HRESULT (WINAPI *put_Left)(Frame *This,int left);
      HRESULT (WINAPI *get_Right)(Frame *This,PINT Right);
      HRESULT (WINAPI *put_Right)(Frame *This,int right);
    END_INTERFACE
  } FrameVtbl;
  struct Frame {
    CONST_VTBL struct FrameVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Frame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Frame_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Frame_Release(This) (This)->lpVtbl->Release(This)
#define Frame_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Frame_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Frame_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Frame_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Frame_Maximize(This) (This)->lpVtbl->Maximize(This)
#define Frame_Minimize(This) (This)->lpVtbl->Minimize(This)
#define Frame_Restore(This) (This)->lpVtbl->Restore(This)
#define Frame_get_Top(This,Top) (This)->lpVtbl->get_Top(This,Top)
#define Frame_put_Top(This,top) (This)->lpVtbl->put_Top(This,top)
#define Frame_get_Bottom(This,Bottom) (This)->lpVtbl->get_Bottom(This,Bottom)
#define Frame_put_Bottom(This,bottom) (This)->lpVtbl->put_Bottom(This,bottom)
#define Frame_get_Left(This,Left) (This)->lpVtbl->get_Left(This,Left)
#define Frame_put_Left(This,left) (This)->lpVtbl->put_Left(This,left)
#define Frame_get_Right(This,Right) (This)->lpVtbl->get_Right(This,Right)
#define Frame_put_Right(This,right) (This)->lpVtbl->put_Right(This,right)
#endif
#endif
  HRESULT WINAPI Frame_Maximize_Proxy(Frame *This);
  void __RPC_STUB Frame_Maximize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_Minimize_Proxy(Frame *This);
  void __RPC_STUB Frame_Minimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_Restore_Proxy(Frame *This);
  void __RPC_STUB Frame_Restore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_get_Top_Proxy(Frame *This,PINT Top);
  void __RPC_STUB Frame_get_Top_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_put_Top_Proxy(Frame *This,int top);
  void __RPC_STUB Frame_put_Top_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_get_Bottom_Proxy(Frame *This,PINT Bottom);
  void __RPC_STUB Frame_get_Bottom_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_put_Bottom_Proxy(Frame *This,int bottom);
  void __RPC_STUB Frame_put_Bottom_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_get_Left_Proxy(Frame *This,PINT Left);
  void __RPC_STUB Frame_get_Left_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_put_Left_Proxy(Frame *This,int left);
  void __RPC_STUB Frame_put_Left_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_get_Right_Proxy(Frame *This,PINT Right);
  void __RPC_STUB Frame_get_Right_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Frame_put_Right_Proxy(Frame *This,int right);
  void __RPC_STUB Frame_put_Right_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Node_INTERFACE_DEFINED__
#define __Node_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Node;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Node : public IDispatch {
  public:
    virtual HRESULT WINAPI get_Name(PBSTR Name) = 0;
    virtual HRESULT WINAPI get_Property(BSTR PropertyName,PBSTR PropertyValue) = 0;
    virtual HRESULT WINAPI get_Bookmark(PBSTR Bookmark) = 0;
    virtual HRESULT WINAPI IsScopeNode(PBOOL IsScopeNode) = 0;
    virtual HRESULT WINAPI get_Nodetype(PBSTR Nodetype) = 0;
  };
#else
  typedef struct NodeVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Node *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Node *This);
      ULONG (WINAPI *Release)(Node *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Node *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Node *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Node *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Node *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get_Name)(Node *This,PBSTR Name);
      HRESULT (WINAPI *get_Property)(Node *This,BSTR PropertyName,PBSTR PropertyValue);
      HRESULT (WINAPI *get_Bookmark)(Node *This,PBSTR Bookmark);
      HRESULT (WINAPI *IsScopeNode)(Node *This,PBOOL IsScopeNode);
      HRESULT (WINAPI *get_Nodetype)(Node *This,PBSTR Nodetype);
    END_INTERFACE
  } NodeVtbl;
  struct Node {
    CONST_VTBL struct NodeVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Node_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Node_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Node_Release(This) (This)->lpVtbl->Release(This)
#define Node_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Node_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Node_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Node_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Node_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
#define Node_get_Property(This,PropertyName,PropertyValue) (This)->lpVtbl->get_Property(This,PropertyName,PropertyValue)
#define Node_get_Bookmark(This,Bookmark) (This)->lpVtbl->get_Bookmark(This,Bookmark)
#define Node_IsScopeNode(This,IsScopeNode) (This)->lpVtbl->IsScopeNode(This,IsScopeNode)
#define Node_get_Nodetype(This,Nodetype) (This)->lpVtbl->get_Nodetype(This,Nodetype)
#endif
#endif
  HRESULT WINAPI Node_get_Name_Proxy(Node *This,PBSTR Name);
  void __RPC_STUB Node_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Node_get_Property_Proxy(Node *This,BSTR PropertyName,PBSTR PropertyValue);
  void __RPC_STUB Node_get_Property_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Node_get_Bookmark_Proxy(Node *This,PBSTR Bookmark);
  void __RPC_STUB Node_get_Bookmark_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Node_IsScopeNode_Proxy(Node *This,PBOOL IsScopeNode);
  void __RPC_STUB Node_IsScopeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Node_get_Nodetype_Proxy(Node *This,PBSTR Nodetype);
  void __RPC_STUB Node_get_Nodetype_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __ScopeNamespace_INTERFACE_DEFINED__
#define __ScopeNamespace_INTERFACE_DEFINED__
  EXTERN_C const IID IID_ScopeNamespace;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct ScopeNamespace : public IDispatch {
  public:
    virtual HRESULT WINAPI GetParent(PNODE Node,PPNODE Parent) = 0;
    virtual HRESULT WINAPI GetChild(PNODE Node,PPNODE Child) = 0;
    virtual HRESULT WINAPI GetNext(PNODE Node,PPNODE Next) = 0;
    virtual HRESULT WINAPI GetRoot(PPNODE Root) = 0;
    virtual HRESULT WINAPI Expand(PNODE Node) = 0;
  };
#else
  typedef struct ScopeNamespaceVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(ScopeNamespace *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(ScopeNamespace *This);
      ULONG (WINAPI *Release)(ScopeNamespace *This);
      HRESULT (WINAPI *GetTypeInfoCount)(ScopeNamespace *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(ScopeNamespace *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(ScopeNamespace *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(ScopeNamespace *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *GetParent)(ScopeNamespace *This,PNODE Node,PPNODE Parent);
      HRESULT (WINAPI *GetChild)(ScopeNamespace *This,PNODE Node,PPNODE Child);
      HRESULT (WINAPI *GetNext)(ScopeNamespace *This,PNODE Node,PPNODE Next);
      HRESULT (WINAPI *GetRoot)(ScopeNamespace *This,PPNODE Root);
      HRESULT (WINAPI *Expand)(ScopeNamespace *This,PNODE Node);
    END_INTERFACE
  } ScopeNamespaceVtbl;
  struct ScopeNamespace {
    CONST_VTBL struct ScopeNamespaceVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define ScopeNamespace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ScopeNamespace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ScopeNamespace_Release(This) (This)->lpVtbl->Release(This)
#define ScopeNamespace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ScopeNamespace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ScopeNamespace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ScopeNamespace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define ScopeNamespace_GetParent(This,Node,Parent) (This)->lpVtbl->GetParent(This,Node,Parent)
#define ScopeNamespace_GetChild(This,Node,Child) (This)->lpVtbl->GetChild(This,Node,Child)
#define ScopeNamespace_GetNext(This,Node,Next) (This)->lpVtbl->GetNext(This,Node,Next)
#define ScopeNamespace_GetRoot(This,Root) (This)->lpVtbl->GetRoot(This,Root)
#define ScopeNamespace_Expand(This,Node) (This)->lpVtbl->Expand(This,Node)
#endif
#endif
  HRESULT WINAPI ScopeNamespace_GetParent_Proxy(ScopeNamespace *This,PNODE Node,PPNODE Parent);
  void __RPC_STUB ScopeNamespace_GetParent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI ScopeNamespace_GetChild_Proxy(ScopeNamespace *This,PNODE Node,PPNODE Child);
  void __RPC_STUB ScopeNamespace_GetChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI ScopeNamespace_GetNext_Proxy(ScopeNamespace *This,PNODE Node,PPNODE Next);
  void __RPC_STUB ScopeNamespace_GetNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI ScopeNamespace_GetRoot_Proxy(ScopeNamespace *This,PPNODE Root);
  void __RPC_STUB ScopeNamespace_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI ScopeNamespace_Expand_Proxy(ScopeNamespace *This,PNODE Node);
  void __RPC_STUB ScopeNamespace_Expand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Document_INTERFACE_DEFINED__
#define __Document_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Document;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Document : public IDispatch {
  public:
    virtual HRESULT WINAPI Save(void) = 0;
    virtual HRESULT WINAPI SaveAs(BSTR Filename) = 0;
    virtual HRESULT WINAPI Close(WINBOOL SaveChanges) = 0;
    virtual HRESULT WINAPI get_Views(PPVIEWS Views) = 0;
    virtual HRESULT WINAPI get_SnapIns(PPSNAPINS SnapIns) = 0;
    virtual HRESULT WINAPI get_ActiveView(PPVIEW View) = 0;
    virtual HRESULT WINAPI get_Name(PBSTR Name) = 0;
    virtual HRESULT WINAPI put_Name(BSTR Name) = 0;
    virtual HRESULT WINAPI get_Location(PBSTR Location) = 0;
    virtual HRESULT WINAPI get_IsSaved(PBOOL IsSaved) = 0;
    virtual HRESULT WINAPI get_Mode(PDOCUMENTMODE Mode) = 0;
    virtual HRESULT WINAPI put_Mode(DOCUMENTMODE Mode) = 0;
    virtual HRESULT WINAPI get_RootNode(PPNODE Node) = 0;
    virtual HRESULT WINAPI get_ScopeNamespace(PPSCOPENAMESPACE ScopeNamespace) = 0;
    virtual HRESULT WINAPI CreateProperties(PPPROPERTIES Properties) = 0;
    virtual HRESULT WINAPI get_Application(PPAPPLICATION Application) = 0;
  };
#else
  typedef struct DocumentVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Document *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Document *This);
      ULONG (WINAPI *Release)(Document *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Document *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Document *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Document *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Document *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *Save)(Document *This);
      HRESULT (WINAPI *SaveAs)(Document *This,BSTR Filename);
      HRESULT (WINAPI *Close)(Document *This,WINBOOL SaveChanges);
      HRESULT (WINAPI *get_Views)(Document *This,PPVIEWS Views);
      HRESULT (WINAPI *get_SnapIns)(Document *This,PPSNAPINS SnapIns);
      HRESULT (WINAPI *get_ActiveView)(Document *This,PPVIEW View);
      HRESULT (WINAPI *get_Name)(Document *This,PBSTR Name);
      HRESULT (WINAPI *put_Name)(Document *This,BSTR Name);
      HRESULT (WINAPI *get_Location)(Document *This,PBSTR Location);
      HRESULT (WINAPI *get_IsSaved)(Document *This,PBOOL IsSaved);
      HRESULT (WINAPI *get_Mode)(Document *This,PDOCUMENTMODE Mode);
      HRESULT (WINAPI *put_Mode)(Document *This,DOCUMENTMODE Mode);
      HRESULT (WINAPI *get_RootNode)(Document *This,PPNODE Node);
      HRESULT (WINAPI *get_ScopeNamespace)(Document *This,PPSCOPENAMESPACE ScopeNamespace);
      HRESULT (WINAPI *CreateProperties)(Document *This,PPPROPERTIES Properties);
      HRESULT (WINAPI *get_Application)(Document *This,PPAPPLICATION Application);
    END_INTERFACE
  } DocumentVtbl;
  struct Document {
    CONST_VTBL struct DocumentVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Document_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Document_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Document_Release(This) (This)->lpVtbl->Release(This)
#define Document_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Document_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Document_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Document_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Document_Save(This) (This)->lpVtbl->Save(This)
#define Document_SaveAs(This,Filename) (This)->lpVtbl->SaveAs(This,Filename)
#define Document_Close(This,SaveChanges) (This)->lpVtbl->Close(This,SaveChanges)
#define Document_get_Views(This,Views) (This)->lpVtbl->get_Views(This,Views)
#define Document_get_SnapIns(This,SnapIns) (This)->lpVtbl->get_SnapIns(This,SnapIns)
#define Document_get_ActiveView(This,View) (This)->lpVtbl->get_ActiveView(This,View)
#define Document_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
#define Document_put_Name(This,Name) (This)->lpVtbl->put_Name(This,Name)
#define Document_get_Location(This,Location) (This)->lpVtbl->get_Location(This,Location)
#define Document_get_IsSaved(This,IsSaved) (This)->lpVtbl->get_IsSaved(This,IsSaved)
#define Document_get_Mode(This,Mode) (This)->lpVtbl->get_Mode(This,Mode)
#define Document_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode)
#define Document_get_RootNode(This,Node) (This)->lpVtbl->get_RootNode(This,Node)
#define Document_get_ScopeNamespace(This,ScopeNamespace) (This)->lpVtbl->get_ScopeNamespace(This,ScopeNamespace)
#define Document_CreateProperties(This,Properties) (This)->lpVtbl->CreateProperties(This,Properties)
#define Document_get_Application(This,Application) (This)->lpVtbl->get_Application(This,Application)
#endif
#endif
  HRESULT WINAPI Document_Save_Proxy(Document *This);
  void __RPC_STUB Document_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_SaveAs_Proxy(Document *This,BSTR Filename);
  void __RPC_STUB Document_SaveAs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_Close_Proxy(Document *This,WINBOOL SaveChanges);
  void __RPC_STUB Document_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_Views_Proxy(Document *This,PPVIEWS Views);
  void __RPC_STUB Document_get_Views_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_SnapIns_Proxy(Document *This,PPSNAPINS SnapIns);
  void __RPC_STUB Document_get_SnapIns_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_ActiveView_Proxy(Document *This,PPVIEW View);
  void __RPC_STUB Document_get_ActiveView_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_Name_Proxy(Document *This,PBSTR Name);
  void __RPC_STUB Document_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_put_Name_Proxy(Document *This,BSTR Name);
  void __RPC_STUB Document_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_Location_Proxy(Document *This,PBSTR Location);
  void __RPC_STUB Document_get_Location_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_IsSaved_Proxy(Document *This,PBOOL IsSaved);
  void __RPC_STUB Document_get_IsSaved_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_Mode_Proxy(Document *This,PDOCUMENTMODE Mode);
  void __RPC_STUB Document_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_put_Mode_Proxy(Document *This,DOCUMENTMODE Mode);
  void __RPC_STUB Document_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_RootNode_Proxy(Document *This,PPNODE Node);
  void __RPC_STUB Document_get_RootNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_ScopeNamespace_Proxy(Document *This,PPSCOPENAMESPACE ScopeNamespace);
  void __RPC_STUB Document_get_ScopeNamespace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_CreateProperties_Proxy(Document *This,PPPROPERTIES Properties);
  void __RPC_STUB Document_CreateProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Document_get_Application_Proxy(Document *This,PPAPPLICATION Application);
  void __RPC_STUB Document_get_Application_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __SnapIn_INTERFACE_DEFINED__
#define __SnapIn_INTERFACE_DEFINED__
  EXTERN_C const IID IID_SnapIn;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct SnapIn : public IDispatch {
  public:
    virtual HRESULT WINAPI get_Name(PBSTR Name) = 0;
    virtual HRESULT WINAPI get_Vendor(PBSTR Vendor) = 0;
    virtual HRESULT WINAPI get_Version(PBSTR Version) = 0;
    virtual HRESULT WINAPI get_Extensions(PPEXTENSIONS Extensions) = 0;
    virtual HRESULT WINAPI get_SnapinCLSID(PBSTR SnapinCLSID) = 0;
    virtual HRESULT WINAPI get_Properties(PPPROPERTIES Properties) = 0;
    virtual HRESULT WINAPI EnableAllExtensions(WINBOOL Enable) = 0;
  };
#else
  typedef struct SnapInVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(SnapIn *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(SnapIn *This);
      ULONG (WINAPI *Release)(SnapIn *This);
      HRESULT (WINAPI *GetTypeInfoCount)(SnapIn *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(SnapIn *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(SnapIn *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(SnapIn *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get_Name)(SnapIn *This,PBSTR Name);
      HRESULT (WINAPI *get_Vendor)(SnapIn *This,PBSTR Vendor);
      HRESULT (WINAPI *get_Version)(SnapIn *This,PBSTR Version);
      HRESULT (WINAPI *get_Extensions)(SnapIn *This,PPEXTENSIONS Extensions);
      HRESULT (WINAPI *get_SnapinCLSID)(SnapIn *This,PBSTR SnapinCLSID);
      HRESULT (WINAPI *get_Properties)(SnapIn *This,PPPROPERTIES Properties);
      HRESULT (WINAPI *EnableAllExtensions)(SnapIn *This,WINBOOL Enable);
    END_INTERFACE
  } SnapInVtbl;
  struct SnapIn {
    CONST_VTBL struct SnapInVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define SnapIn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define SnapIn_AddRef(This) (This)->lpVtbl->AddRef(This)
#define SnapIn_Release(This) (This)->lpVtbl->Release(This)
#define SnapIn_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define SnapIn_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define SnapIn_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define SnapIn_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define SnapIn_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
#define SnapIn_get_Vendor(This,Vendor) (This)->lpVtbl->get_Vendor(This,Vendor)
#define SnapIn_get_Version(This,Version) (This)->lpVtbl->get_Version(This,Version)
#define SnapIn_get_Extensions(This,Extensions) (This)->lpVtbl->get_Extensions(This,Extensions)
#define SnapIn_get_SnapinCLSID(This,SnapinCLSID) (This)->lpVtbl->get_SnapinCLSID(This,SnapinCLSID)
#define SnapIn_get_Properties(This,Properties) (This)->lpVtbl->get_Properties(This,Properties)
#define SnapIn_EnableAllExtensions(This,Enable) (This)->lpVtbl->EnableAllExtensions(This,Enable)
#endif
#endif
  HRESULT WINAPI SnapIn_get_Name_Proxy(SnapIn *This,PBSTR Name);
  void __RPC_STUB SnapIn_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIn_get_Vendor_Proxy(SnapIn *This,PBSTR Vendor);
  void __RPC_STUB SnapIn_get_Vendor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIn_get_Version_Proxy(SnapIn *This,PBSTR Version);
  void __RPC_STUB SnapIn_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIn_get_Extensions_Proxy(SnapIn *This,PPEXTENSIONS Extensions);
  void __RPC_STUB SnapIn_get_Extensions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIn_get_SnapinCLSID_Proxy(SnapIn *This,PBSTR SnapinCLSID);
  void __RPC_STUB SnapIn_get_SnapinCLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIn_get_Properties_Proxy(SnapIn *This,PPPROPERTIES Properties);
  void __RPC_STUB SnapIn_get_Properties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIn_EnableAllExtensions_Proxy(SnapIn *This,WINBOOL Enable);
  void __RPC_STUB SnapIn_EnableAllExtensions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __SnapIns_INTERFACE_DEFINED__
#define __SnapIns_INTERFACE_DEFINED__
  EXTERN_C const IID IID_SnapIns;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct SnapIns : public IDispatch {
  public:
    virtual HRESULT WINAPI get__NewEnum(IUnknown **retval) = 0;
    virtual HRESULT WINAPI Item(long Index,PPSNAPIN SnapIn) = 0;
    virtual HRESULT WINAPI get_Count(PLONG Count) = 0;
    virtual HRESULT WINAPI Add(BSTR SnapinNameOrCLSID,VARIANT ParentSnapin,VARIANT Properties,PPSNAPIN SnapIn) = 0;
    virtual HRESULT WINAPI Remove(PSNAPIN SnapIn) = 0;
  };
#else
  typedef struct SnapInsVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(SnapIns *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(SnapIns *This);
      ULONG (WINAPI *Release)(SnapIns *This);
      HRESULT (WINAPI *GetTypeInfoCount)(SnapIns *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(SnapIns *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(SnapIns *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(SnapIns *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get__NewEnum)(SnapIns *This,IUnknown **retval);
      HRESULT (WINAPI *Item)(SnapIns *This,long Index,PPSNAPIN SnapIn);
      HRESULT (WINAPI *get_Count)(SnapIns *This,PLONG Count);
      HRESULT (WINAPI *Add)(SnapIns *This,BSTR SnapinNameOrCLSID,VARIANT ParentSnapin,VARIANT Properties,PPSNAPIN SnapIn);
      HRESULT (WINAPI *Remove)(SnapIns *This,PSNAPIN SnapIn);
    END_INTERFACE
  } SnapInsVtbl;
  struct SnapIns {
    CONST_VTBL struct SnapInsVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define SnapIns_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define SnapIns_AddRef(This) (This)->lpVtbl->AddRef(This)
#define SnapIns_Release(This) (This)->lpVtbl->Release(This)
#define SnapIns_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define SnapIns_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define SnapIns_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define SnapIns_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define SnapIns_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
#define SnapIns_Item(This,Index,SnapIn) (This)->lpVtbl->Item(This,Index,SnapIn)
#define SnapIns_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define SnapIns_Add(This,SnapinNameOrCLSID,ParentSnapin,Properties,SnapIn) (This)->lpVtbl->Add(This,SnapinNameOrCLSID,ParentSnapin,Properties,SnapIn)
#define SnapIns_Remove(This,SnapIn) (This)->lpVtbl->Remove(This,SnapIn)
#endif
#endif
  HRESULT WINAPI SnapIns_get__NewEnum_Proxy(SnapIns *This,IUnknown **retval);
  void __RPC_STUB SnapIns_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIns_Item_Proxy(SnapIns *This,long Index,PPSNAPIN SnapIn);
  void __RPC_STUB SnapIns_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIns_get_Count_Proxy(SnapIns *This,PLONG Count);
  void __RPC_STUB SnapIns_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIns_Add_Proxy(SnapIns *This,BSTR SnapinNameOrCLSID,VARIANT ParentSnapin,VARIANT Properties,PPSNAPIN SnapIn);
  void __RPC_STUB SnapIns_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI SnapIns_Remove_Proxy(SnapIns *This,PSNAPIN SnapIn);
  void __RPC_STUB SnapIns_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Extension_INTERFACE_DEFINED__
#define __Extension_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Extension;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Extension : public IDispatch {
  public:
    virtual HRESULT WINAPI get_Name(PBSTR Name) = 0;
    virtual HRESULT WINAPI get_Vendor(PBSTR Vendor) = 0;
    virtual HRESULT WINAPI get_Version(PBSTR Version) = 0;
    virtual HRESULT WINAPI get_Extensions(PPEXTENSIONS Extensions) = 0;
    virtual HRESULT WINAPI get_SnapinCLSID(PBSTR SnapinCLSID) = 0;
    virtual HRESULT WINAPI EnableAllExtensions(WINBOOL Enable) = 0;
    virtual HRESULT WINAPI Enable(WINBOOL Enable) = 0;
  };
#else
  typedef struct ExtensionVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Extension *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Extension *This);
      ULONG (WINAPI *Release)(Extension *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Extension *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Extension *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Extension *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Extension *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get_Name)(Extension *This,PBSTR Name);
      HRESULT (WINAPI *get_Vendor)(Extension *This,PBSTR Vendor);
      HRESULT (WINAPI *get_Version)(Extension *This,PBSTR Version);
      HRESULT (WINAPI *get_Extensions)(Extension *This,PPEXTENSIONS Extensions);
      HRESULT (WINAPI *get_SnapinCLSID)(Extension *This,PBSTR SnapinCLSID);
      HRESULT (WINAPI *EnableAllExtensions)(Extension *This,WINBOOL Enable);
      HRESULT (WINAPI *Enable)(Extension *This,WINBOOL Enable);
    END_INTERFACE
  } ExtensionVtbl;
  struct Extension {
    CONST_VTBL struct ExtensionVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Extension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Extension_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Extension_Release(This) (This)->lpVtbl->Release(This)
#define Extension_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Extension_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Extension_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Extension_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Extension_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
#define Extension_get_Vendor(This,Vendor) (This)->lpVtbl->get_Vendor(This,Vendor)
#define Extension_get_Version(This,Version) (This)->lpVtbl->get_Version(This,Version)
#define Extension_get_Extensions(This,Extensions) (This)->lpVtbl->get_Extensions(This,Extensions)
#define Extension_get_SnapinCLSID(This,SnapinCLSID) (This)->lpVtbl->get_SnapinCLSID(This,SnapinCLSID)
#define Extension_EnableAllExtensions(This,Enable) (This)->lpVtbl->EnableAllExtensions(This,Enable)
#define Extension_Enable(This,Enable) (This)->lpVtbl->Enable(This,Enable)
#endif
#endif
  HRESULT WINAPI Extension_get_Name_Proxy(Extension *This,PBSTR Name);
  void __RPC_STUB Extension_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Extension_get_Vendor_Proxy(Extension *This,PBSTR Vendor);
  void __RPC_STUB Extension_get_Vendor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Extension_get_Version_Proxy(Extension *This,PBSTR Version);
  void __RPC_STUB Extension_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Extension_get_Extensions_Proxy(Extension *This,PPEXTENSIONS Extensions);
  void __RPC_STUB Extension_get_Extensions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Extension_get_SnapinCLSID_Proxy(Extension *This,PBSTR SnapinCLSID);
  void __RPC_STUB Extension_get_SnapinCLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Extension_EnableAllExtensions_Proxy(Extension *This,WINBOOL Enable);
  void __RPC_STUB Extension_EnableAllExtensions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Extension_Enable_Proxy(Extension *This,WINBOOL Enable);
  void __RPC_STUB Extension_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Extensions_INTERFACE_DEFINED__
#define __Extensions_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Extensions;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Extensions : public IDispatch {
  public:
    virtual HRESULT WINAPI get__NewEnum(IUnknown **retval) = 0;
    virtual HRESULT WINAPI Item(long Index,PPEXTENSION Extension) = 0;
    virtual HRESULT WINAPI get_Count(PLONG Count) = 0;
  };
#else
  typedef struct ExtensionsVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Extensions *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Extensions *This);
      ULONG (WINAPI *Release)(Extensions *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Extensions *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Extensions *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Extensions *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Extensions *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get__NewEnum)(Extensions *This,IUnknown **retval);
      HRESULT (WINAPI *Item)(Extensions *This,long Index,PPEXTENSION Extension);
      HRESULT (WINAPI *get_Count)(Extensions *This,PLONG Count);
    END_INTERFACE
  } ExtensionsVtbl;
  struct Extensions {
    CONST_VTBL struct ExtensionsVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Extensions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Extensions_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Extensions_Release(This) (This)->lpVtbl->Release(This)
#define Extensions_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Extensions_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Extensions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Extensions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Extensions_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
#define Extensions_Item(This,Index,Extension) (This)->lpVtbl->Item(This,Index,Extension)
#define Extensions_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#endif
#endif
  HRESULT WINAPI Extensions_get__NewEnum_Proxy(Extensions *This,IUnknown **retval);
  void __RPC_STUB Extensions_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Extensions_Item_Proxy(Extensions *This,long Index,PPEXTENSION Extension);
  void __RPC_STUB Extensions_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Extensions_get_Count_Proxy(Extensions *This,PLONG Count);
  void __RPC_STUB Extensions_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Columns_INTERFACE_DEFINED__
#define __Columns_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Columns;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Columns : public IDispatch {
  public:
    virtual HRESULT WINAPI Item(long Index,PPCOLUMN Column) = 0;
    virtual HRESULT WINAPI get_Count(PLONG Count) = 0;
    virtual HRESULT WINAPI get__NewEnum(IUnknown **retval) = 0;
  };
#else
  typedef struct ColumnsVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Columns *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Columns *This);
      ULONG (WINAPI *Release)(Columns *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Columns *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Columns *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Columns *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Columns *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *Item)(Columns *This,long Index,PPCOLUMN Column);
      HRESULT (WINAPI *get_Count)(Columns *This,PLONG Count);
      HRESULT (WINAPI *get__NewEnum)(Columns *This,IUnknown **retval);
    END_INTERFACE
  } ColumnsVtbl;
  struct Columns {
    CONST_VTBL struct ColumnsVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Columns_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Columns_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Columns_Release(This) (This)->lpVtbl->Release(This)
#define Columns_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Columns_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Columns_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Columns_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Columns_Item(This,Index,Column) (This)->lpVtbl->Item(This,Index,Column)
#define Columns_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define Columns_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
#endif
#endif
  HRESULT WINAPI Columns_Item_Proxy(Columns *This,long Index,PPCOLUMN Column);
  void __RPC_STUB Columns_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Columns_get_Count_Proxy(Columns *This,PLONG Count);
  void __RPC_STUB Columns_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Columns_get__NewEnum_Proxy(Columns *This,IUnknown **retval);
  void __RPC_STUB Columns_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Column_INTERFACE_DEFINED__
#define __Column_INTERFACE_DEFINED__
  typedef enum ColumnSortOrder {
    SortOrder_Ascending = 0,SortOrder_Descending = SortOrder_Ascending + 1
  } _ColumnSortOrder;

  typedef enum ColumnSortOrder COLUMNSORTORDER;

  EXTERN_C const IID IID_Column;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Column : public IDispatch {
  public:
    virtual HRESULT WINAPI Name(BSTR *Name) = 0;
    virtual HRESULT WINAPI get_Width(PLONG Width) = 0;
    virtual HRESULT WINAPI put_Width(long Width) = 0;
    virtual HRESULT WINAPI get_DisplayPosition(PLONG DisplayPosition) = 0;
    virtual HRESULT WINAPI put_DisplayPosition(long Index) = 0;
    virtual HRESULT WINAPI get_Hidden(PBOOL Hidden) = 0;
    virtual HRESULT WINAPI put_Hidden(WINBOOL Hidden) = 0;
    virtual HRESULT WINAPI SetAsSortColumn(COLUMNSORTORDER SortOrder) = 0;
    virtual HRESULT WINAPI IsSortColumn(PBOOL IsSortColumn) = 0;
  };
#else
  typedef struct ColumnVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Column *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Column *This);
      ULONG (WINAPI *Release)(Column *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Column *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Column *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Column *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Column *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *Name)(Column *This,BSTR *Name);
      HRESULT (WINAPI *get_Width)(Column *This,PLONG Width);
      HRESULT (WINAPI *put_Width)(Column *This,long Width);
      HRESULT (WINAPI *get_DisplayPosition)(Column *This,PLONG DisplayPosition);
      HRESULT (WINAPI *put_DisplayPosition)(Column *This,long Index);
      HRESULT (WINAPI *get_Hidden)(Column *This,PBOOL Hidden);
      HRESULT (WINAPI *put_Hidden)(Column *This,WINBOOL Hidden);
      HRESULT (WINAPI *SetAsSortColumn)(Column *This,COLUMNSORTORDER SortOrder);
      HRESULT (WINAPI *IsSortColumn)(Column *This,PBOOL IsSortColumn);
    END_INTERFACE
  } ColumnVtbl;
  struct Column {
    CONST_VTBL struct ColumnVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Column_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Column_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Column_Release(This) (This)->lpVtbl->Release(This)
#define Column_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Column_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Column_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Column_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Column_Name(This,Name) (This)->lpVtbl->Name(This,Name)
#define Column_get_Width(This,Width) (This)->lpVtbl->get_Width(This,Width)
#define Column_put_Width(This,Width) (This)->lpVtbl->put_Width(This,Width)
#define Column_get_DisplayPosition(This,DisplayPosition) (This)->lpVtbl->get_DisplayPosition(This,DisplayPosition)
#define Column_put_DisplayPosition(This,Index) (This)->lpVtbl->put_DisplayPosition(This,Index)
#define Column_get_Hidden(This,Hidden) (This)->lpVtbl->get_Hidden(This,Hidden)
#define Column_put_Hidden(This,Hidden) (This)->lpVtbl->put_Hidden(This,Hidden)
#define Column_SetAsSortColumn(This,SortOrder) (This)->lpVtbl->SetAsSortColumn(This,SortOrder)
#define Column_IsSortColumn(This,IsSortColumn) (This)->lpVtbl->IsSortColumn(This,IsSortColumn)
#endif
#endif
  HRESULT WINAPI Column_Name_Proxy(Column *This,BSTR *Name);
  void __RPC_STUB Column_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Column_get_Width_Proxy(Column *This,PLONG Width);
  void __RPC_STUB Column_get_Width_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Column_put_Width_Proxy(Column *This,long Width);
  void __RPC_STUB Column_put_Width_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Column_get_DisplayPosition_Proxy(Column *This,PLONG DisplayPosition);
  void __RPC_STUB Column_get_DisplayPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Column_put_DisplayPosition_Proxy(Column *This,long Index);
  void __RPC_STUB Column_put_DisplayPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Column_get_Hidden_Proxy(Column *This,PBOOL Hidden);
  void __RPC_STUB Column_get_Hidden_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Column_put_Hidden_Proxy(Column *This,WINBOOL Hidden);
  void __RPC_STUB Column_put_Hidden_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Column_SetAsSortColumn_Proxy(Column *This,COLUMNSORTORDER SortOrder);
  void __RPC_STUB Column_SetAsSortColumn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Column_IsSortColumn_Proxy(Column *This,PBOOL IsSortColumn);
  void __RPC_STUB Column_IsSortColumn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Views_INTERFACE_DEFINED__
#define __Views_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Views;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Views : public IDispatch {
  public:
    virtual HRESULT WINAPI Item(long Index,PPVIEW View) = 0;
    virtual HRESULT WINAPI get_Count(PLONG Count) = 0;
    virtual HRESULT WINAPI Add(PNODE Node,VIEWOPTIONS viewOptions = ViewOption_Default) = 0;
    virtual HRESULT WINAPI get__NewEnum(IUnknown **retval) = 0;
  };
#else
  typedef struct ViewsVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Views *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Views *This);
      ULONG (WINAPI *Release)(Views *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Views *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Views *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Views *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Views *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *Item)(Views *This,long Index,PPVIEW View);
      HRESULT (WINAPI *get_Count)(Views *This,PLONG Count);
      HRESULT (WINAPI *Add)(Views *This,PNODE Node,VIEWOPTIONS viewOptions);
      HRESULT (WINAPI *get__NewEnum)(Views *This,IUnknown **retval);
    END_INTERFACE
  } ViewsVtbl;
  struct Views {
    CONST_VTBL struct ViewsVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Views_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Views_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Views_Release(This) (This)->lpVtbl->Release(This)
#define Views_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Views_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Views_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Views_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Views_Item(This,Index,View) (This)->lpVtbl->Item(This,Index,View)
#define Views_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define Views_Add(This,Node,viewOptions) (This)->lpVtbl->Add(This,Node,viewOptions)
#define Views_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
#endif
#endif
  HRESULT WINAPI Views_Item_Proxy(Views *This,long Index,PPVIEW View);
  void __RPC_STUB Views_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Views_get_Count_Proxy(Views *This,PLONG Count);
  void __RPC_STUB Views_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Views_Add_Proxy(Views *This,PNODE Node,VIEWOPTIONS viewOptions);
  void __RPC_STUB Views_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Views_get__NewEnum_Proxy(Views *This,IUnknown **retval);
  void __RPC_STUB Views_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __View_INTERFACE_DEFINED__
#define __View_INTERFACE_DEFINED__
  EXTERN_C const IID IID_View;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct View : public IDispatch {
  public:
    virtual HRESULT WINAPI get_ActiveScopeNode(PPNODE Node) = 0;
    virtual HRESULT WINAPI put_ActiveScopeNode(PNODE Node) = 0;
    virtual HRESULT WINAPI get_Selection(PPNODES Nodes) = 0;
    virtual HRESULT WINAPI get_ListItems(PPNODES Nodes) = 0;
    virtual HRESULT WINAPI SnapinScopeObject(VARIANT ScopeNode,PPDISPATCH ScopeNodeObject) = 0;
    virtual HRESULT WINAPI SnapinSelectionObject(PPDISPATCH SelectionObject) = 0;
    virtual HRESULT WINAPI Is(PVIEW View,VARIANT_BOOL *TheSame) = 0;
    virtual HRESULT WINAPI get_Document(PPDOCUMENT Document) = 0;
    virtual HRESULT WINAPI SelectAll(void) = 0;
    virtual HRESULT WINAPI Select(PNODE Node) = 0;
    virtual HRESULT WINAPI Deselect(PNODE Node) = 0;
    virtual HRESULT WINAPI IsSelected(PNODE Node,PBOOL IsSelected) = 0;
    virtual HRESULT WINAPI DisplayScopeNodePropertySheet(VARIANT ScopeNode) = 0;
    virtual HRESULT WINAPI DisplaySelectionPropertySheet(void) = 0;
    virtual HRESULT WINAPI CopyScopeNode(VARIANT ScopeNode) = 0;
    virtual HRESULT WINAPI CopySelection(void) = 0;
    virtual HRESULT WINAPI DeleteScopeNode(VARIANT ScopeNode) = 0;
    virtual HRESULT WINAPI DeleteSelection(void) = 0;
    virtual HRESULT WINAPI RenameScopeNode(BSTR NewName,VARIANT ScopeNode) = 0;
    virtual HRESULT WINAPI RenameSelectedItem(BSTR NewName) = 0;
    virtual HRESULT WINAPI get_ScopeNodeContextMenu(VARIANT ScopeNode,PPCONTEXTMENU ContextMenu) = 0;
    virtual HRESULT WINAPI get_SelectionContextMenu(PPCONTEXTMENU ContextMenu) = 0;
    virtual HRESULT WINAPI RefreshScopeNode(VARIANT ScopeNode) = 0;
    virtual HRESULT WINAPI RefreshSelection(void) = 0;
    virtual HRESULT WINAPI ExecuteSelectionMenuItem(BSTR MenuItemPath) = 0;
    virtual HRESULT WINAPI ExecuteScopeNodeMenuItem(BSTR MenuItemPath,VARIANT ScopeNode) = 0;
    virtual HRESULT WINAPI ExecuteShellCommand(BSTR Command,BSTR Directory,BSTR Parameters,BSTR WindowState) = 0;
    virtual HRESULT WINAPI get_Frame(PPFRAME Frame) = 0;
    virtual HRESULT WINAPI Close(void) = 0;
    virtual HRESULT WINAPI get_ScopeTreeVisible(PBOOL Visible) = 0;
    virtual HRESULT WINAPI put_ScopeTreeVisible(WINBOOL Visible) = 0;
    virtual HRESULT WINAPI Back(void) = 0;
    virtual HRESULT WINAPI Forward(void) = 0;
    virtual HRESULT WINAPI put_StatusBarText(BSTR StatusBarText) = 0;
    virtual HRESULT WINAPI get_Memento(PBSTR Memento) = 0;
    virtual HRESULT WINAPI ViewMemento(BSTR Memento) = 0;
    virtual HRESULT WINAPI get_Columns(PPCOLUMNS Columns) = 0;
    virtual HRESULT WINAPI get_CellContents(PNODE Node,long Column,PBSTR CellContents) = 0;
    virtual HRESULT WINAPI ExportList(BSTR File,EXPORTLISTOPTIONS exportoptions = ExportListOptions_Default) = 0;
    virtual HRESULT WINAPI get_ListViewMode(PLISTVIEWMODE Mode) = 0;
    virtual HRESULT WINAPI put_ListViewMode(LISTVIEWMODE mode) = 0;
    virtual HRESULT WINAPI get_ControlObject(PPDISPATCH Control) = 0;
  };
#else
  typedef struct ViewVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(View *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(View *This);
      ULONG (WINAPI *Release)(View *This);
      HRESULT (WINAPI *GetTypeInfoCount)(View *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(View *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(View *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(View *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get_ActiveScopeNode)(View *This,PPNODE Node);
      HRESULT (WINAPI *put_ActiveScopeNode)(View *This,PNODE Node);
      HRESULT (WINAPI *get_Selection)(View *This,PPNODES Nodes);
      HRESULT (WINAPI *get_ListItems)(View *This,PPNODES Nodes);
      HRESULT (WINAPI *SnapinScopeObject)(View *This,VARIANT ScopeNode,PPDISPATCH ScopeNodeObject);
      HRESULT (WINAPI *SnapinSelectionObject)(View *This,PPDISPATCH SelectionObject);
      HRESULT (WINAPI *Is)(View *This,PVIEW View,VARIANT_BOOL *TheSame);
      HRESULT (WINAPI *get_Document)(View *This,PPDOCUMENT Document);
      HRESULT (WINAPI *SelectAll)(View *This);
      HRESULT (WINAPI *Select)(View *This,PNODE Node);
      HRESULT (WINAPI *Deselect)(View *This,PNODE Node);
      HRESULT (WINAPI *IsSelected)(View *This,PNODE Node,PBOOL IsSelected);
      HRESULT (WINAPI *DisplayScopeNodePropertySheet)(View *This,VARIANT ScopeNode);
      HRESULT (WINAPI *DisplaySelectionPropertySheet)(View *This);
      HRESULT (WINAPI *CopyScopeNode)(View *This,VARIANT ScopeNode);
      HRESULT (WINAPI *CopySelection)(View *This);
      HRESULT (WINAPI *DeleteScopeNode)(View *This,VARIANT ScopeNode);
      HRESULT (WINAPI *DeleteSelection)(View *This);
      HRESULT (WINAPI *RenameScopeNode)(View *This,BSTR NewName,VARIANT ScopeNode);
      HRESULT (WINAPI *RenameSelectedItem)(View *This,BSTR NewName);
      HRESULT (WINAPI *get_ScopeNodeContextMenu)(View *This,VARIANT ScopeNode,PPCONTEXTMENU ContextMenu);
      HRESULT (WINAPI *get_SelectionContextMenu)(View *This,PPCONTEXTMENU ContextMenu);
      HRESULT (WINAPI *RefreshScopeNode)(View *This,VARIANT ScopeNode);
      HRESULT (WINAPI *RefreshSelection)(View *This);
      HRESULT (WINAPI *ExecuteSelectionMenuItem)(View *This,BSTR MenuItemPath);
      HRESULT (WINAPI *ExecuteScopeNodeMenuItem)(View *This,BSTR MenuItemPath,VARIANT ScopeNode);
      HRESULT (WINAPI *ExecuteShellCommand)(View *This,BSTR Command,BSTR Directory,BSTR Parameters,BSTR WindowState);
      HRESULT (WINAPI *get_Frame)(View *This,PPFRAME Frame);
      HRESULT (WINAPI *Close)(View *This);
      HRESULT (WINAPI *get_ScopeTreeVisible)(View *This,PBOOL Visible);
      HRESULT (WINAPI *put_ScopeTreeVisible)(View *This,WINBOOL Visible);
      HRESULT (WINAPI *Back)(View *This);
      HRESULT (WINAPI *Forward)(View *This);
      HRESULT (WINAPI *put_StatusBarText)(View *This,BSTR StatusBarText);
      HRESULT (WINAPI *get_Memento)(View *This,PBSTR Memento);
      HRESULT (WINAPI *ViewMemento)(View *This,BSTR Memento);
      HRESULT (WINAPI *get_Columns)(View *This,PPCOLUMNS Columns);
      HRESULT (WINAPI *get_CellContents)(View *This,PNODE Node,long Column,PBSTR CellContents);
      HRESULT (WINAPI *ExportList)(View *This,BSTR File,EXPORTLISTOPTIONS exportoptions);
      HRESULT (WINAPI *get_ListViewMode)(View *This,PLISTVIEWMODE Mode);
      HRESULT (WINAPI *put_ListViewMode)(View *This,LISTVIEWMODE mode);
      HRESULT (WINAPI *get_ControlObject)(View *This,PPDISPATCH Control);
    END_INTERFACE
  } ViewVtbl;
  struct View {
    CONST_VTBL struct ViewVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define View_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define View_AddRef(This) (This)->lpVtbl->AddRef(This)
#define View_Release(This) (This)->lpVtbl->Release(This)
#define View_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define View_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define View_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define View_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define View_get_ActiveScopeNode(This,Node) (This)->lpVtbl->get_ActiveScopeNode(This,Node)
#define View_put_ActiveScopeNode(This,Node) (This)->lpVtbl->put_ActiveScopeNode(This,Node)
#define View_get_Selection(This,Nodes) (This)->lpVtbl->get_Selection(This,Nodes)
#define View_get_ListItems(This,Nodes) (This)->lpVtbl->get_ListItems(This,Nodes)
#define View_SnapinScopeObject(This,ScopeNode,ScopeNodeObject) (This)->lpVtbl->SnapinScopeObject(This,ScopeNode,ScopeNodeObject)
#define View_SnapinSelectionObject(This,SelectionObject) (This)->lpVtbl->SnapinSelectionObject(This,SelectionObject)
#define View_Is(This,View,TheSame) (This)->lpVtbl->Is(This,View,TheSame)
#define View_get_Document(This,Document) (This)->lpVtbl->get_Document(This,Document)
#define View_SelectAll(This) (This)->lpVtbl->SelectAll(This)
#define View_Select(This,Node) (This)->lpVtbl->Select(This,Node)
#define View_Deselect(This,Node) (This)->lpVtbl->Deselect(This,Node)
#define View_IsSelected(This,Node,IsSelected) (This)->lpVtbl->IsSelected(This,Node,IsSelected)
#define View_DisplayScopeNodePropertySheet(This,ScopeNode) (This)->lpVtbl->DisplayScopeNodePropertySheet(This,ScopeNode)
#define View_DisplaySelectionPropertySheet(This) (This)->lpVtbl->DisplaySelectionPropertySheet(This)
#define View_CopyScopeNode(This,ScopeNode) (This)->lpVtbl->CopyScopeNode(This,ScopeNode)
#define View_CopySelection(This) (This)->lpVtbl->CopySelection(This)
#define View_DeleteScopeNode(This,ScopeNode) (This)->lpVtbl->DeleteScopeNode(This,ScopeNode)
#define View_DeleteSelection(This) (This)->lpVtbl->DeleteSelection(This)
#define View_RenameScopeNode(This,NewName,ScopeNode) (This)->lpVtbl->RenameScopeNode(This,NewName,ScopeNode)
#define View_RenameSelectedItem(This,NewName) (This)->lpVtbl->RenameSelectedItem(This,NewName)
#define View_get_ScopeNodeContextMenu(This,ScopeNode,ContextMenu) (This)->lpVtbl->get_ScopeNodeContextMenu(This,ScopeNode,ContextMenu)
#define View_get_SelectionContextMenu(This,ContextMenu) (This)->lpVtbl->get_SelectionContextMenu(This,ContextMenu)
#define View_RefreshScopeNode(This,ScopeNode) (This)->lpVtbl->RefreshScopeNode(This,ScopeNode)
#define View_RefreshSelection(This) (This)->lpVtbl->RefreshSelection(This)
#define View_ExecuteSelectionMenuItem(This,MenuItemPath) (This)->lpVtbl->ExecuteSelectionMenuItem(This,MenuItemPath)
#define View_ExecuteScopeNodeMenuItem(This,MenuItemPath,ScopeNode) (This)->lpVtbl->ExecuteScopeNodeMenuItem(This,MenuItemPath,ScopeNode)
#define View_ExecuteShellCommand(This,Command,Directory,Parameters,WindowState) (This)->lpVtbl->ExecuteShellCommand(This,Command,Directory,Parameters,WindowState)
#define View_get_Frame(This,Frame) (This)->lpVtbl->get_Frame(This,Frame)
#define View_Close(This) (This)->lpVtbl->Close(This)
#define View_get_ScopeTreeVisible(This,Visible) (This)->lpVtbl->get_ScopeTreeVisible(This,Visible)
#define View_put_ScopeTreeVisible(This,Visible) (This)->lpVtbl->put_ScopeTreeVisible(This,Visible)
#define View_Back(This) (This)->lpVtbl->Back(This)
#define View_Forward(This) (This)->lpVtbl->Forward(This)
#define View_put_StatusBarText(This,StatusBarText) (This)->lpVtbl->put_StatusBarText(This,StatusBarText)
#define View_get_Memento(This,Memento) (This)->lpVtbl->get_Memento(This,Memento)
#define View_ViewMemento(This,Memento) (This)->lpVtbl->ViewMemento(This,Memento)
#define View_get_Columns(This,Columns) (This)->lpVtbl->get_Columns(This,Columns)
#define View_get_CellContents(This,Node,Column,CellContents) (This)->lpVtbl->get_CellContents(This,Node,Column,CellContents)
#define View_ExportList(This,File,exportoptions) (This)->lpVtbl->ExportList(This,File,exportoptions)
#define View_get_ListViewMode(This,Mode) (This)->lpVtbl->get_ListViewMode(This,Mode)
#define View_put_ListViewMode(This,mode) (This)->lpVtbl->put_ListViewMode(This,mode)
#define View_get_ControlObject(This,Control) (This)->lpVtbl->get_ControlObject(This,Control)
#endif
#endif
  HRESULT WINAPI View_get_ActiveScopeNode_Proxy(View *This,PPNODE Node);
  void __RPC_STUB View_get_ActiveScopeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_put_ActiveScopeNode_Proxy(View *This,PNODE Node);
  void __RPC_STUB View_put_ActiveScopeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_Selection_Proxy(View *This,PPNODES Nodes);
  void __RPC_STUB View_get_Selection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_ListItems_Proxy(View *This,PPNODES Nodes);
  void __RPC_STUB View_get_ListItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_SnapinScopeObject_Proxy(View *This,VARIANT ScopeNode,PPDISPATCH ScopeNodeObject);
  void __RPC_STUB View_SnapinScopeObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_SnapinSelectionObject_Proxy(View *This,PPDISPATCH SelectionObject);
  void __RPC_STUB View_SnapinSelectionObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_Is_Proxy(View *This,PVIEW View,VARIANT_BOOL *TheSame);
  void __RPC_STUB View_Is_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_Document_Proxy(View *This,PPDOCUMENT Document);
  void __RPC_STUB View_get_Document_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_SelectAll_Proxy(View *This);
  void __RPC_STUB View_SelectAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_Select_Proxy(View *This,PNODE Node);
  void __RPC_STUB View_Select_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_Deselect_Proxy(View *This,PNODE Node);
  void __RPC_STUB View_Deselect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_IsSelected_Proxy(View *This,PNODE Node,PBOOL IsSelected);
  void __RPC_STUB View_IsSelected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_DisplayScopeNodePropertySheet_Proxy(View *This,VARIANT ScopeNode);
  void __RPC_STUB View_DisplayScopeNodePropertySheet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_DisplaySelectionPropertySheet_Proxy(View *This);
  void __RPC_STUB View_DisplaySelectionPropertySheet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_CopyScopeNode_Proxy(View *This,VARIANT ScopeNode);
  void __RPC_STUB View_CopyScopeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_CopySelection_Proxy(View *This);
  void __RPC_STUB View_CopySelection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_DeleteScopeNode_Proxy(View *This,VARIANT ScopeNode);
  void __RPC_STUB View_DeleteScopeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_DeleteSelection_Proxy(View *This);
  void __RPC_STUB View_DeleteSelection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_RenameScopeNode_Proxy(View *This,BSTR NewName,VARIANT ScopeNode);
  void __RPC_STUB View_RenameScopeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_RenameSelectedItem_Proxy(View *This,BSTR NewName);
  void __RPC_STUB View_RenameSelectedItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_ScopeNodeContextMenu_Proxy(View *This,VARIANT ScopeNode,PPCONTEXTMENU ContextMenu);
  void __RPC_STUB View_get_ScopeNodeContextMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_SelectionContextMenu_Proxy(View *This,PPCONTEXTMENU ContextMenu);
  void __RPC_STUB View_get_SelectionContextMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_RefreshScopeNode_Proxy(View *This,VARIANT ScopeNode);
  void __RPC_STUB View_RefreshScopeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_RefreshSelection_Proxy(View *This);
  void __RPC_STUB View_RefreshSelection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_ExecuteSelectionMenuItem_Proxy(View *This,BSTR MenuItemPath);
  void __RPC_STUB View_ExecuteSelectionMenuItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_ExecuteScopeNodeMenuItem_Proxy(View *This,BSTR MenuItemPath,VARIANT ScopeNode);
  void __RPC_STUB View_ExecuteScopeNodeMenuItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_ExecuteShellCommand_Proxy(View *This,BSTR Command,BSTR Directory,BSTR Parameters,BSTR WindowState);
  void __RPC_STUB View_ExecuteShellCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_Frame_Proxy(View *This,PPFRAME Frame);
  void __RPC_STUB View_get_Frame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_Close_Proxy(View *This);
  void __RPC_STUB View_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_ScopeTreeVisible_Proxy(View *This,PBOOL Visible);
  void __RPC_STUB View_get_ScopeTreeVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_put_ScopeTreeVisible_Proxy(View *This,WINBOOL Visible);
  void __RPC_STUB View_put_ScopeTreeVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_Back_Proxy(View *This);
  void __RPC_STUB View_Back_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_Forward_Proxy(View *This);
  void __RPC_STUB View_Forward_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_put_StatusBarText_Proxy(View *This,BSTR StatusBarText);
  void __RPC_STUB View_put_StatusBarText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_Memento_Proxy(View *This,PBSTR Memento);
  void __RPC_STUB View_get_Memento_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_ViewMemento_Proxy(View *This,BSTR Memento);
  void __RPC_STUB View_ViewMemento_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_Columns_Proxy(View *This,PPCOLUMNS Columns);
  void __RPC_STUB View_get_Columns_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_CellContents_Proxy(View *This,PNODE Node,long Column,PBSTR CellContents);
  void __RPC_STUB View_get_CellContents_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_ExportList_Proxy(View *This,BSTR File,EXPORTLISTOPTIONS exportoptions);
  void __RPC_STUB View_ExportList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_ListViewMode_Proxy(View *This,PLISTVIEWMODE Mode);
  void __RPC_STUB View_get_ListViewMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_put_ListViewMode_Proxy(View *This,LISTVIEWMODE mode);
  void __RPC_STUB View_put_ListViewMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI View_get_ControlObject_Proxy(View *This,PPDISPATCH Control);
  void __RPC_STUB View_get_ControlObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Nodes_INTERFACE_DEFINED__
#define __Nodes_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Nodes;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Nodes : public IDispatch {
  public:
    virtual HRESULT WINAPI get__NewEnum(IUnknown **retval) = 0;
    virtual HRESULT WINAPI Item(long Index,PPNODE Node) = 0;
    virtual HRESULT WINAPI get_Count(PLONG Count) = 0;
  };
#else
  typedef struct NodesVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Nodes *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Nodes *This);
      ULONG (WINAPI *Release)(Nodes *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Nodes *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Nodes *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Nodes *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Nodes *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get__NewEnum)(Nodes *This,IUnknown **retval);
      HRESULT (WINAPI *Item)(Nodes *This,long Index,PPNODE Node);
      HRESULT (WINAPI *get_Count)(Nodes *This,PLONG Count);
    END_INTERFACE
  } NodesVtbl;
  struct Nodes {
    CONST_VTBL struct NodesVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Nodes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Nodes_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Nodes_Release(This) (This)->lpVtbl->Release(This)
#define Nodes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Nodes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Nodes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Nodes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Nodes_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
#define Nodes_Item(This,Index,Node) (This)->lpVtbl->Item(This,Index,Node)
#define Nodes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#endif
#endif
  HRESULT WINAPI Nodes_get__NewEnum_Proxy(Nodes *This,IUnknown **retval);
  void __RPC_STUB Nodes_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Nodes_Item_Proxy(Nodes *This,long Index,PPNODE Node);
  void __RPC_STUB Nodes_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Nodes_get_Count_Proxy(Nodes *This,PLONG Count);
  void __RPC_STUB Nodes_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __ContextMenu_INTERFACE_DEFINED__
#define __ContextMenu_INTERFACE_DEFINED__
  EXTERN_C const IID IID_ContextMenu;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct ContextMenu : public IDispatch {
  public:
    virtual HRESULT WINAPI get__NewEnum(IUnknown **retval) = 0;
    virtual HRESULT WINAPI get_Item(VARIANT IndexOrPath,PPMENUITEM MenuItem) = 0;
    virtual HRESULT WINAPI get_Count(PLONG Count) = 0;
  };
#else
  typedef struct ContextMenuVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(ContextMenu *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(ContextMenu *This);
      ULONG (WINAPI *Release)(ContextMenu *This);
      HRESULT (WINAPI *GetTypeInfoCount)(ContextMenu *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(ContextMenu *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(ContextMenu *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(ContextMenu *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get__NewEnum)(ContextMenu *This,IUnknown **retval);
      HRESULT (WINAPI *get_Item)(ContextMenu *This,VARIANT IndexOrPath,PPMENUITEM MenuItem);
      HRESULT (WINAPI *get_Count)(ContextMenu *This,PLONG Count);
    END_INTERFACE
  } ContextMenuVtbl;
  struct ContextMenu {
    CONST_VTBL struct ContextMenuVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define ContextMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ContextMenu_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ContextMenu_Release(This) (This)->lpVtbl->Release(This)
#define ContextMenu_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ContextMenu_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ContextMenu_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ContextMenu_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define ContextMenu_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
#define ContextMenu_get_Item(This,IndexOrPath,MenuItem) (This)->lpVtbl->get_Item(This,IndexOrPath,MenuItem)
#define ContextMenu_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#endif
#endif
  HRESULT WINAPI ContextMenu_get__NewEnum_Proxy(ContextMenu *This,IUnknown **retval);
  void __RPC_STUB ContextMenu_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI ContextMenu_get_Item_Proxy(ContextMenu *This,VARIANT IndexOrPath,PPMENUITEM MenuItem);
  void __RPC_STUB ContextMenu_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI ContextMenu_get_Count_Proxy(ContextMenu *This,PLONG Count);
  void __RPC_STUB ContextMenu_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __MenuItem_INTERFACE_DEFINED__
#define __MenuItem_INTERFACE_DEFINED__
  EXTERN_C const IID IID_MenuItem;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct MenuItem : public IDispatch {
  public:
    virtual HRESULT WINAPI get_DisplayName(PBSTR DisplayName) = 0;
    virtual HRESULT WINAPI get_LanguageIndependentName(PBSTR LanguageIndependentName) = 0;
    virtual HRESULT WINAPI get_Path(PBSTR Path) = 0;
    virtual HRESULT WINAPI get_LanguageIndependentPath(PBSTR LanguageIndependentPath) = 0;
    virtual HRESULT WINAPI Execute(void) = 0;
    virtual HRESULT WINAPI get_Enabled(PBOOL Enabled) = 0;
  };
#else
  typedef struct MenuItemVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(MenuItem *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(MenuItem *This);
      ULONG (WINAPI *Release)(MenuItem *This);
      HRESULT (WINAPI *GetTypeInfoCount)(MenuItem *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(MenuItem *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(MenuItem *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(MenuItem *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get_DisplayName)(MenuItem *This,PBSTR DisplayName);
      HRESULT (WINAPI *get_LanguageIndependentName)(MenuItem *This,PBSTR LanguageIndependentName);
      HRESULT (WINAPI *get_Path)(MenuItem *This,PBSTR Path);
      HRESULT (WINAPI *get_LanguageIndependentPath)(MenuItem *This,PBSTR LanguageIndependentPath);
      HRESULT (WINAPI *Execute)(MenuItem *This);
      HRESULT (WINAPI *get_Enabled)(MenuItem *This,PBOOL Enabled);
    END_INTERFACE
  } MenuItemVtbl;
  struct MenuItem {
    CONST_VTBL struct MenuItemVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define MenuItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define MenuItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define MenuItem_Release(This) (This)->lpVtbl->Release(This)
#define MenuItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define MenuItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define MenuItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define MenuItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define MenuItem_get_DisplayName(This,DisplayName) (This)->lpVtbl->get_DisplayName(This,DisplayName)
#define MenuItem_get_LanguageIndependentName(This,LanguageIndependentName) (This)->lpVtbl->get_LanguageIndependentName(This,LanguageIndependentName)
#define MenuItem_get_Path(This,Path) (This)->lpVtbl->get_Path(This,Path)
#define MenuItem_get_LanguageIndependentPath(This,LanguageIndependentPath) (This)->lpVtbl->get_LanguageIndependentPath(This,LanguageIndependentPath)
#define MenuItem_Execute(This) (This)->lpVtbl->Execute(This)
#define MenuItem_get_Enabled(This,Enabled) (This)->lpVtbl->get_Enabled(This,Enabled)
#endif
#endif
  HRESULT WINAPI MenuItem_get_DisplayName_Proxy(MenuItem *This,PBSTR DisplayName);
  void __RPC_STUB MenuItem_get_DisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI MenuItem_get_LanguageIndependentName_Proxy(MenuItem *This,PBSTR LanguageIndependentName);
  void __RPC_STUB MenuItem_get_LanguageIndependentName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI MenuItem_get_Path_Proxy(MenuItem *This,PBSTR Path);
  void __RPC_STUB MenuItem_get_Path_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI MenuItem_get_LanguageIndependentPath_Proxy(MenuItem *This,PBSTR LanguageIndependentPath);
  void __RPC_STUB MenuItem_get_LanguageIndependentPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI MenuItem_Execute_Proxy(MenuItem *This);
  void __RPC_STUB MenuItem_Execute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI MenuItem_get_Enabled_Proxy(MenuItem *This,PBOOL Enabled);
  void __RPC_STUB MenuItem_get_Enabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Properties_INTERFACE_DEFINED__
#define __Properties_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Properties;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Properties : public IDispatch {
  public:
    virtual HRESULT WINAPI get__NewEnum(IUnknown **retval) = 0;
    virtual HRESULT WINAPI Item(BSTR Name,PPPROPERTY Property) = 0;
    virtual HRESULT WINAPI get_Count(PLONG Count) = 0;
    virtual HRESULT WINAPI Remove(BSTR Name) = 0;
  };
#else
  typedef struct PropertiesVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Properties *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Properties *This);
      ULONG (WINAPI *Release)(Properties *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Properties *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Properties *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Properties *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Properties *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get__NewEnum)(Properties *This,IUnknown **retval);
      HRESULT (WINAPI *Item)(Properties *This,BSTR Name,PPPROPERTY Property);
      HRESULT (WINAPI *get_Count)(Properties *This,PLONG Count);
      HRESULT (WINAPI *Remove)(Properties *This,BSTR Name);
    END_INTERFACE
  } PropertiesVtbl;
  struct Properties {
    CONST_VTBL struct PropertiesVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Properties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Properties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Properties_Release(This) (This)->lpVtbl->Release(This)
#define Properties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Properties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Properties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Properties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Properties_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
#define Properties_Item(This,Name,Property) (This)->lpVtbl->Item(This,Name,Property)
#define Properties_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define Properties_Remove(This,Name) (This)->lpVtbl->Remove(This,Name)
#endif
#endif
  HRESULT WINAPI Properties_get__NewEnum_Proxy(Properties *This,IUnknown **retval);
  void __RPC_STUB Properties_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Properties_Item_Proxy(Properties *This,BSTR Name,PPPROPERTY Property);
  void __RPC_STUB Properties_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Properties_get_Count_Proxy(Properties *This,PLONG Count);
  void __RPC_STUB Properties_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Properties_Remove_Proxy(Properties *This,BSTR Name);
  void __RPC_STUB Properties_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __Property_INTERFACE_DEFINED__
#define __Property_INTERFACE_DEFINED__
  EXTERN_C const IID IID_Property;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct Property : public IDispatch {
  public:
    virtual HRESULT WINAPI get_Value(PVARIANT Value) = 0;
    virtual HRESULT WINAPI put_Value(VARIANT Value) = 0;
    virtual HRESULT WINAPI get_Name(PBSTR Name) = 0;
  };
#else
  typedef struct PropertyVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(Property *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(Property *This);
      ULONG (WINAPI *Release)(Property *This);
      HRESULT (WINAPI *GetTypeInfoCount)(Property *This,UINT *pctinfo);
      HRESULT (WINAPI *GetTypeInfo)(Property *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
      HRESULT (WINAPI *GetIDsOfNames)(Property *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
      HRESULT (WINAPI *Invoke)(Property *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
      HRESULT (WINAPI *get_Value)(Property *This,PVARIANT Value);
      HRESULT (WINAPI *put_Value)(Property *This,VARIANT Value);
      HRESULT (WINAPI *get_Name)(Property *This,PBSTR Name);
    END_INTERFACE
  } PropertyVtbl;
  struct Property {
    CONST_VTBL struct PropertyVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define Property_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define Property_AddRef(This) (This)->lpVtbl->AddRef(This)
#define Property_Release(This) (This)->lpVtbl->Release(This)
#define Property_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define Property_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define Property_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define Property_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define Property_get_Value(This,Value) (This)->lpVtbl->get_Value(This,Value)
#define Property_put_Value(This,Value) (This)->lpVtbl->put_Value(This,Value)
#define Property_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
#endif
#endif
  HRESULT WINAPI Property_get_Value_Proxy(Property *This,PVARIANT Value);
  void __RPC_STUB Property_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Property_put_Value_Proxy(Property *This,VARIANT Value);
  void __RPC_STUB Property_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI Property_get_Name_Proxy(Property *This,PBSTR Name);
  void __RPC_STUB Property_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif
#endif
#endif

  extern RPC_IF_HANDLE __MIDL_itf_mmcobj_0138_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_mmcobj_0138_v0_0_s_ifspec;

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

#ifdef __cplusplus
}
#endif
#endif
